Motion capture element

ABSTRACT

Motion capture element for low power and accurate data capture for use in healthcare compliance, sporting, gaming, military, virtual reality, industrial, retail loss tracking, security, baby and elderly monitoring and other applications for example obtained from a motion capture element and relayed to a database via a mobile phone. System obtains data from motion capture elements, analyzes data and stores data in database for use in these applications and/or data mining, which may be charged for. Enables unique displays associated with the user, such as 3D overlays onto images of the user to visually depict the captured motion data. Ratings, compliance, ball flight path data can be calculated and displayed, for example on a map or timeline or both. Enables performance related equipment fitting and purchase. Includes active and passive identifier capabilities.

This application is a continuation-in-part of U.S. Utility patentapplication Ser. No. 13/306,869 filed 29 Nov. 2011 and is acontinuation-in-part of U.S. Utility patent application Ser. No.13/298,158 filed 16 Nov. 2011, which is a continuation-in-part of U.S.Utility patent application Ser. No. 13/267,784 filed 6 Oct. 2011, whichis a continuation-in-part of U.S. Utility patent application Ser. No.13/219,525 filed 26 Aug. 2011, which is a continuation-in-part of U.S.Utility patent application Ser. No. 13/191,309 filed 26 Jul. 2011, whichis a continuation-in-part of U.S. Utility patent application Ser. No.13/048,850 filed 15 Mar. 2011, which is a continuation-in-part of U.S.Utility patent application Ser. No. 12/901,806 filed 11 Oct. 2010, whichis a continuation-in-part of U.S. Utility patent application Ser. No.12/868,882 filed 26 Aug. 2010, the specifications of which are allhereby incorporated herein by reference.

BACKGROUND OF THE INVENTION

1. Field of the Invention

One or more embodiments setting forth the ideas described throughoutthis disclosure pertain to the field of motion capture sensors thatproduce motion capture data, and displaying information based on motionanalysis data associated with a user or piece of equipment based onprevious motion analysis data from the user or other user(s) and/orpiece of equipment. More particularly, but not by way of limitation, oneor more aspects of the disclosure enable motion capture sensor thatenables use of actual motion capture data obtained from portablewireless motion capture elements such as visual markers and sensors,radio frequency identification tags and mobile device computer systemsfor healthcare compliance, sporting, gaming, military, virtual reality,industrial, retail loss tracking, security, baby and elderly monitoringand other applications.

2. Description of the Related Art

Known motion capture sensors are limited for a variety of reasons. Onemain limitation of known motion capture sensors is accuracy, anotherlimitation is power usage. In addition, known sensors have limitedfunctionality directed at motion and also have limited communicationscapabilities. Existing systems are known that utilize motion capturesensors to perform remote vital sign monitoring for example, but notbased on motion and not based on previously stored motion data from theuser or other users or piece of equipment. For example, baby monitoringwould be improved significantly if the pattern of the previous motionfor chest movement or breathing of the baby were compared to currentmotion. This allows for display of warnings that a baby's breathing isslower on a particular night than usual, which may indicate that thebaby is becoming ill. This would also enable remote sleep apneamonitoring as well. For children that play video games, there are noknown systems that compare motion of the game controller to previousmotion of the child to determine if the child has been playing videogames too much, or in comparison to other children that the child isplaying an above average amount. There are no known systems that enablea display to be sent to a monitoring parent or physician based onanything other than current vital signs. The physician could alsoreceive a display of any type of message that indicates if a child oradult is moving a certain amount or not at all or a certain amount incomparison to their usual motion during exercise. This would facilitatediabetes compliance monitoring to ensure the patient is moving enoughper day and compared to their previous patterns or other patientpatterns with similar demographics for example, and may save the doctorfrom paying higher insurance premiums if the doctor were able toremotely ensure that each patient is complying with orders. In addition,other types of motion capture includes a technique to teach effectivebody mechanics utilizes video recording of an athlete and analysis ofthe recorded video of an athlete. This technique has various limitationsincluding inaccurate and inconsistent subjective analysis based on videofor example. Another technique includes motion analysis, for exampleusing at least two cameras to capture three-dimensional points ofmovement associated with an athlete. Known implementations utilize astationary multi-camera system that is not portable and thus cannot beutilized outside of the environment where the system is installed, forexample during an athletic event such as a golf tournament. These fixedinstallations are extremely expensive as well. Such prior techniques aresummarized in U.S. Pat. No. 7,264,554, filed 26 Jan. 2006, which claimsthe benefit of U.S. Provisional Patent Application Ser. No. 60/647,751filed 26 Jan. 2005, the specifications of which are both herebyincorporated herein by reference. Both disclosures are to the sameinventor of the subject matter of the instant application. Regardless ofthe motion capture data obtained, the data is generally analyzed on aper user or per swing basis that does not contemplate processing on amobile phone, so that a user would only buy a motion capture sensor andan “app” for a pre-existing mobile phone. In addition, existingsolutions do not contemplate mobile use, analysis and messaging and/orcomparison to or use of previously stored motion capture data from theuser or other users or data mining of large data sets of motion capturedata. To summarize, motion capture data is generally used for immediatemonitoring or sports performance feedback and generally has had limitedand/or primitive use in other fields.

Known systems generally utilize several passive or active markers orseveral sensors. There are no known systems that utilize as little asone visual marker or sensor and an app that for example executes on amobile device that a user already owns, to analyze and display motioncapture data associated with a user and/or piece of equipment. The datais generally analyzed in a laboratory on a per user or per swing basisand is not used for any other purpose besides motion analysis orrepresentation of motion of that particular user and is generally notsubjected to data mining.

There are no known systems that allow for a group of mobile devices toshare data to form three-dimensional motion capture data bytriangulation of visual markers. There are no known systems that allowfor a mobile device without a camera to obtain images from cameras orother mobile devices with cameras to display motion capture data. Inaddition, known systems do not save images of users along with motioncapture data for later use, including gaming, morphological comparing,compliance, tracking calories burned, work performed, monitoring ofchildren or elderly based on motion or previous motion patterns thatvary during the day and night, safety monitoring for troops whenG-forces exceed a threshold or motion stops, local use of running,jumping throwing motion capture data for example on a cell phoneincluding virtual reality applications that make use of the user'scurrent and/or previous data or data from other users, or play music orselect a play list based on the type of motion a user is performing ordata mining.

There are no known mobile motion captures systems that allow for a userto align a camera correctly along the horizontal before capture ofmotion data having horizontally aligned images.

There are no known systems that allow for motion capture elements suchas wireless sensors to seamlessly integrate or otherwise couple with auser or shoes, gloves, shirts, pants, belts, or other equipment, such asa baseball bat, tennis racquet or golf club for local analysis or lateranalysis in such a small format that the user is not aware that thesensors are located in or on these items. There are no known systemsthat provide seamless mounts, for example in the weight port of a golfclub or at the end shaft near the handle so as to provide a wirelessgolf club, configured to capture motion data. Data derived from existingsensors is not saved in a database for a large number of events and isnot used relative to anything but the performance at which the motioncapture data was acquired.

In addition, for sports that utilize a piece of equipment and a ball,there are no known portable systems that allow the user to obtainimmediate visual feedback regarding ball flight distance, swing speed,swing efficiency of the piece of equipment or how centered an impact ofthe ball is, i.e., where on piece of equipment the collision of the ballhas taken place. These systems do not allow for user's to play gameswith the motion capture data acquired from other users, or historicalplayers, or from their own previous performances. Known systems do notallow for data mining motion capture data from a large number of swingsto suggest or allow the searching for better or optimal equipment tomatch a user's motion capture data and do not enable original equipmentmanufacturers (OEMs) to make business decisions, e.g., improve theirproducts, compare their products to other manufacturers, up-sellproducts or contact users that may purchase different or more profitableproducts.

In addition, there are no known systems that utilize motion capture datamining for equipment fitting and subsequent point-of-sale decisionmaking for instantaneous purchasing of equipment that fits an athlete.Furthermore, no known systems allow for custom order fulfillment such asassemble-to-order (ATO) for custom order fulfillment of sportingequipment, for example equipment that is built to customerspecifications based on motion capture data mining, and shipped to thecustomer to complete the point of sales process.

In addition, there are no known systems that use a mobile device andRFID tags for passive compliance and monitoring applications. Forexample, known systems for counting golf shots are cumbersome andrequire electronics on each golf club and/or switches that a user isrequired to operate. In addition, known devices also require activeelectronics, and therefore batteries in each golf club to operate. Thereare no known systems that allow a golfer to easily record a shot andlocation of a shot automatically and/or prompt a user to remember torecord each shot for a particular club without a battery and activeelectronics on the club, for example that is not a practice shot. Knownsystems do not save the shots per user per course over time in adatabase and do not contemplate data mining the motion capture data, orshot count and distance data for example to allow for OEMs to purchaseaccess to the database for business decision making for example.

There are no known systems that enable data mining for a large number ofusers related to their motion or motion of associated equipment to findpatterns in the data that allows for business strategies to bedetermined based on heretofore undiscovered patterns related to motion.There are no known systems that enable obtain payment from OEMs, medicalprofessionals, gaming companies or other end users to allow data miningof motion data. For at least the limitations described above there is aneed for a system and method for utilizing motion capture data.

BRIEF SUMMARY OF THE INVENTION

Embodiments of the invention enable a motion capture sensor thatproduces motion capture data that may be analyzed, displayed andotherwise utilized by a system and method for utilizing motion capturedata. Embodiments of the invention are more accurate and power efficientthan known devices and provide variations of communications capabilitiesfor local or remote communication. Embodiments provide increasedcapabilities with optional proximity sensors and may be utilized inconjunction with external devices to provide alarm clock capabilitiesand other functionality. Embodiments of the invention may be utilized bya user that optionally purchases an application or “app” and purchases amotion capture element. Embodiments may be immediately utilizes with anexisting computer or mobile computer, e.g., mobile phone. Embodiments ofthe invention enable applications in healthcare compliance, sporting,gaming, military, fire, police, virtual reality, industrial, retail losstracking, security, baby and elderly monitoring and other applicationsthrough use of motion capture data obtained from one or more usersinstrumented pieces of sporting equipment. Embodiments of the inventionmay produce motion capture data that enables the display of motioninformation to a monitoring user, or user associated with the motioncapture sensor (or motion capture element), or piece of equipment.Embodiments may also display information based on motion analysis dataassociated with a user or piece of equipment based on (via a functionincluding comparison) previously stored motion capture data or motionanalysis data associated with the user or piece of equipment orpreviously stored motion capture data or motion analysis data associatedwith at least one other user. This enables sophisticated monitoring,compliance, interaction with actual motion capture data or patternobtained from other user(s), for example to play a virtual game usingreal motion data obtained from the user with responses generated basedthereon using real motion data capture from the user previously or fromother users (or equipment). This capability provides for playing againsthistorical players, for example a game of virtual tennis, or playingagainst an “average” professional sports person, and is unknown in theart until now.

Embodiments of the invention may be utilized by data mining on themotion capture data to obtain patterns for users, equipment, or use themotion capture data of a given user or other user. Data mining relatesto discovering new patterns in large databases wherein the patterns arepreviously unknown. Many methods may be applied to the data to discovernew patterns including statistical analysis, neural networks andartificial intelligence for example. Due to the large amount of data,automated data mining may be performed by one or more computers to findunknown patterns in the data. Unknown patterns may include groups ofrelated data, anomalies in the data, dependencies between elements ofthe data, classifications and functions that model the data with minimalerror or any other type of unknown pattern. Displays of data miningresults may include displays that summarize newly discovered patterns ina way that is easier for a user to understand than large amounts of pureraw data. One of the results of the data mining process is improvedmarket research reports, product improvement, lead generation andtargeted sales. Generally, any type of data that will be subjected todata mining must be cleansed, data mined and the results of which aregenerally validated. Businesses may increase profits using data mining.Examples of benefits of embodiments of the invention include customerrelationship management to highly target individuals based on patternsdiscovered in the data. In addition, market basket analysis data miningenables identifying products that are purchased or owned by the sameindividuals and which can be utilized to offer products to users thatown one product but who do not own another product that is typicallyowned by other users. Other areas of data mining include analyzing largesets of motion data from different users to suggest exercises to improveperformance based on performance data from other users. For example ifone user has less rotation of the hips during a swing versus the averageuser, then exercises to improve flexibility or strength may be suggestedby the system. In a golf course embodiment, golf course planners maydetermine over a large amount of users on a golf course which holesshould be adjusted in length or difficulty to obtain more discretevalues for the average number of shots per hole, or for determining theamount of time between golfers, for example at a certain time of day orfor golfers of a certain age. In addition, sports and medicalapplications of data mining include determining morphological changes inuser performance over time, for example versus diet or exercise changesto determine what improves performance the most. Use of motion capturedata for a particular user or with respect to other users enableshealthcare compliance, for example to ensure a person with diabetesmoves a certain amount during the day, and morphological analysis todetermine how a user's motion or range of motion has changed over time.Games may be played with motion capture data that enables virtualreality play against historical greats or other users. For example, aperson may play against a previous performance of the same person oragainst the motion capture data of a friend. This allows users to play agame in a historic stadium or venue in a virtual reality environment,but with motion capture data acquired from the user or other userspreviously for example. Displays that are color coded or show portionsof motion that differ from the user's previous motion, or an average ofthe user's previous motion or the “best” motion from the user's previousmotion may be shown on any computer coupled with embodiments of theinvention. Military planners may utilize the motion capture data todetermine which soldiers are most fit and therefore eligible for specialoperations, or which ones should retire. Embodiments of the motioncapture sensors may be utilized in retail loss applications bywirelessly alerting a server when an item associated with the motioncapture sensor has moved to a location outside of a store and may forexample wirelessly transmit the location, speed, direction, etc., of theitem to law enforcement. Embodiments of the invention may also beutilized for baby and elderly monitors to determine when motion occursor stops, wherein embodiments of the invention may alert a third partybased on the motion or lack thereof.

Embodiments of the invention may be utilized with a system to performmotion capture and/or display with an application for example thatoptionally executes on mobile device that may include a visual displayand an optional camera. Embodiments of the system are configured toobtain motion capture data from at least one motion capture sensor orelement such as a visual marker and/or a wireless sensor. The system canalso integrate with standalone cameras, or cameras on multiple mobiledevices. The system also enables the user to analyze and display themotion capture data in a variety of ways that provide immediate easy tounderstand graphical information associated with the motion capturedata. Motion capture elements utilized in the system intelligently storedata for example related to events associated with striking a ball,making a ski turn, jumping, etc., and eliminate false events, andgreatly improve memory usage and minimize storage requirements. Inaddition, the data may be stored for example for more than one eventassociated with the sporting equipment, for example multiple bat swingsor for an entire round of golf or more if necessary at least until thedata is downloaded to a mobile device or to the Internet. Datacompression of captured data may also be utilized to store more motioncapture data in a given amount of memory. Motion capture elementsutilized in the system may also be configured to intelligently powerdown portions of their circuitry to save power, for example power downtransceivers until motion is detected of a certain type. Embodiments ofthe invention may also utilize flexible battery connectors to couple twoor more batteries in parallel to increase the time the system may beutilized before replacing the batteries. Motion capture data isgenerally stored in memory such as a local database or in a networkaccessible database, any of which enables data mining described above.Any other type of data mining may be performed using embodiments of theinvention, including searching for temporal changes of data related toone or more users and or simply searching for data related to aparticular user or piece of equipment. Embodiments of the invention mayalso utilize BLUETOOTH® Low Energy Profiles that further conserve power.In addition, embodiments of the invention may intelligently calculategravity vectors for orientation at one or more points in time toincrease accuracy and change sampling rates as a function of time oracceleration to further increase accuracy over a G-force range.Proximity sensors in one or more embodiments of the invention or coupledwith a mobile computer may be utilized to determine whether a piece ofsporting equipment has been accidentally left behind or is the piece ofequipment being utilized, or may be utilized for shot tracking forcertain types of equipment in certain sports. Proximity sensors forexample may be combined on an ASIC with embodiments of the motioncapture sensor to provide increased capabilities. In addition, a BLEradio may be combined on an ASIC with the motion capture sensor toprovide a single chip solution for motion capture. One or moreembodiments of the invention may communicate with a mobile computer thatis local using local communications protocols or may communicatedistally using longer range communications protocols as desired andbased on available energy. Embodiments of the invention may be utilizedto provide an alarm clock, for example by utilizing motion capture dataassociated with a mobile computer, wherein the alarm stops when themobile computer is moved by a user.

Embodiments of the invention may calibrate more than one sensor at atime, either while mounted on a piece of equipment or in a hexapod sothat for example a large number of motion capture elements may becalibrated by moving one piece of equipment coupled to the motioncapture elements that in turn moves the motion capture elements in thenumber of desired axes.

Other embodiments may display information such as music selections ormusic playlists to be played based on the motion related data. This forexample enables a performance to be compared to another user'sperformance and select the type of music the other user plays, or tocompare the performance relative to a threshold that determines whattype of music selection to suggest or display.

Embodiments of the invention directed at sports for example may couplewith RFID tags or passive RFID tags directly or indirectly that areplaced on items that a user moves wherein embodiments of the system keeptrack of the motion. For example, by placing passive RFID tags onparticular dumbbells at a gym, and by wearing motion capture elementssuch as gloves and with a pre-existing mobile device for example anIPHONE®, embodiments of the invention provide automatic fitness and/orhealthcare compliance. This is achieved by keeping track of the motion,and via RIFD or passive RFID, the weight that the user is lifting.Proximity detection via power associated with a particular RFID tag orusing a proximity detector coupled with the RFID tag or motion sensormay be utilized alone or in combination to better detect the equipmentthat a user is using. Embodiments of the system may thus add the numberof repetitions multiplied by the amount of weight indicated by each RFIDtag to calculate the number of calories burned by the user. In anotherexample, an RFID tag coupled with a stationary bike, or wherein thestationary bike can mimic the identifier and/or communicate wirelesslyto provide performance data and wherein the mobile computer includes anRFID reader, the number of rotations of the user's legs may be counted.Any other use of RFID or passive RFID is in keeping with the spirit ofthe invention. This enables doctors to remotely determine whether a userhas complied with their medical recommendations. Embodiments may thus beutilized by users to ensure compliance and by doctors to lower theirmalpractice insurance rates since they are ensuring that their patientsare complying with their recommendations, albeit remotely. Embodimentsof the system do not require RFID tags for medical compliance, but mayutilize them. Embodiments of the system directed at golf also enablegolf shots for each club associated with a golfer to be counted throughuse of an identifier such as RFID tags on each club (or optionally viaan identifier associated with motion capture electronics on a golf clubor obtained remotely over the radio) and a mobile computer, for examplean IPHONE® equipped with an RFID reader that concentrates the processingfor golf shot counting on the mobile computer instead of on each golfclub. Embodiments of the invention may also allow for the measurement oforientation (North/South, and/or two horizontal axes and the verticalaxis) and acceleration using an inertial measurement unit, oraccelerometers and/or magnetometers, and/or gyroscopes. This is notrequired for golf shot counting, although one or more embodiments maydetermine when the golf club has struck a golf ball through vibrationanalysis for example and then query a golfer whether to count a shot ornot. This functionality may be combined with speed or accelerationthreshold or range detection for example to determine whether the golfclub was travelling within an acceptable speed or range, or accelerationor range for the “hit” to count. Wavelets may also be utilized tocompare valid swing signatures to eliminate count shots or eliminatefalse strikes for example. This range may vary between different clubs,for example a driver speed range may be “greater than 30 mph” while aputter speed range may be “less than 20 mph”, any range may be utilizedwith any club as desired, or the speed range may be ignored for example.Alternatively or in combination, the mobile computer may only query thegolfer to count a shot if the golfer is not moving laterally, i.e., in agolf cart or walking, and/or wherein the golfer may have rotated ortaken a shot as determined by a orientation or gyroscope sensor coupledwith the mobile computer. The position of the stroke may be shown on amap on the mobile computer for example. In addition, GPS receivers withwireless radios may be placed within the tee markers and in the cups togive daily updates of distances and helps with reading putts and greensfor example. The golfer may also wear virtual glasses that allow thegolfer to see the golf course map, current location, distance to thehole, number of shots on the current hole, total number of shots and anyother desired metric. If the user moves a certain distance, asdetermined by GPS for example, from the shot without counting the shot,the system may prompt the user on whether to count the shot or not. Thesystem does not require a user to initiate a switch on a club to count ashot and does not require LED's or active or battery powered electronicson each club to count shots. The mobile computer may also acceptgestures from the user to count a shot or not count a shot so that thegolfer does not have to remove any gloves to operate the mobilecomputer. For embodiments that utilize position/orientation sensors, thesystem may only count shots when a club is oriented vertically forexample when an impact is detected. The apparatus may also includeidentifiers that enable a specific apparatus to be identified. Theidentifiers may be a serial number for example. The identifier forexample may originate from an RFID tag on each golf club, or optionallymay include a serial number or other identifier associated with motioncapture elements associated with a golf club. Utilizing this apparatusenables the identification of a specific golfer, specific club and alsoenables motion capture and/or display with a system that includes atelevision and/or mobile device having a visual display and an optionalcamera and capable of obtaining data from at least one motion captureelement such as a visual marker and/or a wireless sensor. The system canalso integrate with standalone cameras, or cameras on multiple mobiledevices. The system also enables the user to analyze and display themotion capture data in a variety of ways that provide immediate and easyto understand graphical information associated with the motion capturedata. The apparatus enables the system to also determine how “centered”an impact is with respect to a ball and a piece of equipment, such as agolf club for example. The system also allows for fitting of equipmentincluding shoes, clubs, etc., and immediate purchasing of the equipmenteven if the equipment requires a custom assemble-to-order request from avendor. Once the motion capture data, videos or images and shot countindications are obtained by the system, they may be stored locally, forexample in a local database or sent over a telephonic or wirelessinterface to a remote database for example. Once in a database, thevarious elements including any data associated with the user, such asage, sex, height, weight, address, income or any other relatedinformation may be utilized in embodiments of the invention and/orsubjected to data mining. One or more embodiments enable users or OEMsfor example to pay for access to the data mining capabilities of thesystem.

For example, embodiments that utilize motion capture elements allow foranalyzing the data obtained from the apparatus and enable thepresentation of unique displays associated with the user, such as 3Doverlays onto images of the body of the user to visually depict thecaptured motion data. In addition, these embodiments may also utilizeactive wireless technology such as BLUETOOTH® Low Energy for a range ofup to 50 meters to communicate with a golfer's mobile computer.Embodiments of the invention also allow for display of queries forcounting a stroke for example as a result of receiving a golf club ID,for example via an RFID reader or alternatively via wirelesscommunication using BLUETOOTH® or IEEE 802.11 for example. Use ofBLUETOOTH® Low Energy chips allows for a club to be in sleep mode for upto 3 years with a standard coin cell battery, thus reducing requiredmaintenance. One or more embodiments of the invention may utilize morethan one radio, of more than one technology for example. This allows fora level of redundancy that increases robustness of the system. Forexample, if one radio no longer functions, e.g., the BLUETOOTH® radiofor example, then the IEEE 802.11 radio may be utilized to transfer dataand warn the golfer that one of the radios is not functioning, whilestill allowing the golfer to record motion data and count shotsassociated with the particular club. For embodiments of the inventionthat utilize a mobile device (or more than one mobile device) withoutcamera(s), sensor data may be utilized to generate displays of thecaptured motion data, while the mobile device may optionally obtainimages from other cameras or other mobile devices with cameras. Forexample, display types that may or may not utilize images of the usermay include ratings, calculated data and time line data. Ratingsassociated with the captured motion can also be displayed to the user inthe form of numerical or graphical data with or without a user image,for example an “efficiency” rating. Calculated data, such as a predictedball flight path data can be calculated and displayed on the mobiledevice with or without utilizing images of the user's body. Datadepicted on a time line can also be displayed with or without images ofthe user to show the relative peaks of velocity for various parts of theequipment or user's body for example. Images from multiple camerasincluding multiple mobile devices, for example from a crowd of golffans, may be combined into a BULLET TIME® visual effect characterized byslow motion of the golf swing shown from around the golfer at variousangles at normal speed. All analyzed data may be displayed locally, oruploaded to the database along with the motion capture data,images/videos, shot count and location data where it may undergo datamining processes, wherein the system may charge a fee for access to theresults for example.

Motion capture data can be displayed in many ways, for example tweeted,to a social network during or after motion capture. For example, if acertain amount of exercise or motion is performed, or caloriesperformed, or a new sports power factor maximum has been obtained, thesystem can automatically tweet the new information to a social networksite so that anyone connected to the Internet may be notified. The datauploaded to the Internet, i.e., a remote database or remote server ormemory remote to the system may be viewed, analyzed or data mined by anycomputer that may obtain access to the data. This allows for remotecompliance tweeting and/or compliance and/or original equipmentmanufacturers to determine for a given user what equipment forcompliance or sporting equipment for sports related embodiments isworking best and/or what equipment to suggest. Data mining also enablessuggestions for users to improve their compliance and/or the planning ofsports venues, including golf courses based on the data and/or metadataassociated with users, such as age, or any other demographics that maybe entered into the system. Remote storage of data also enables medicalapplications such as morphological analysis, range of motion over time,and diabetes prevention and exercise monitoring and complianceapplications as stated. Other applications also allow for games that usereal motion capture data from other users, or historical players whetheralive or dead after analyzing videos of the historical players forexample. Virtual reality and augmented virtual reality applications mayalso utilize the motion capture data or historical motion data. Militarypersonnel such as commanders and/or doctors may utilize the motionand/or images in determine what type of G-forces a person has undergonefrom an explosion near an Improvised Explosive Device and automaticallyroute the best type of medical aid automatically to the location of themotion capture sensor. One or more embodiments of the system may relaymotion capture data over a G-force or velocity threshold, to theircommanding officer or nearest medical personnel for example via awireless communication link.

In one or more embodiments of the invention, fixed cameras such as at atennis tournament, football game, baseball game, car or motorcycle race,golf tournament or other sporting event can be utilized with a wirelessinterface located near the player/equipment having motion captureelements so as to obtain, analyze and display motion capture data. Inthis embodiment, real-time or near real-time motion data can bedisplayed on the video for augmented video replays. An increase in theentertainment level is thus created by visually displaying how fastequipment is moving during a shot, for example with rings drawn around aplayers hips and shoulders. Embodiments of the invention also allowimages or videos from other players having mobile devices to be utilizedon a mobile device related to another user so that users don't have toswitch mobile phones for example. In one embodiment, a video obtained bya first user for a piece of sporting equipment in motion that is notassociated with the second user having the video camera equipped mobilephone may automatically transfer the video to the first user for displaywith motion capture data associated with the first user. Video andimages may be uploaded into the database and data mined through imageanalysis to determine the types/colors of clothing or shoes for examplethat users are wearing.

Based on the display of data, the user can determine the equipment thatfits the best and immediately purchase the equipment, via the mobiledevice. For example, when deciding between two sets of skis, a user maytry out both pairs that are instrumented with motion capture elementswherein the motion capture data is analyzed to determine which pair ofskis enables more efficient movement. For golf embodiments, whendeciding between two golf clubs, a user can take swings with differentclubs and based on the analysis of the captured motion data andquantitatively determine which club performs better. Custom equipmentmay be ordered through an interface on the mobile device from a vendorthat can assemble-to-order customer built equipment and ship theequipment to the user for example. Shaft lengths for putters for examplethat are a standard length can be custom made for a particular userbased on captured motion data as a user putts with an adjustable lengthshaft for example. Based on data mining of the motion capture data andshot count data and distances for example allows for users havingsimilar swing characteristics to be compared against a current userwherein equipment that delivers longer shots for a given swing velocityfor a user of a particular size and age for example may be suggested orsearched for by the user to improve performance. OEMs may determine thatfor given swing speeds, which make and model of club delivers the bestoverall performance as well. One skilled in the art will recognize thatthis applies to all activities involving motion, not just golf.

Embodiments of the system may utilize a variety of sensor types. In oneor more embodiments of the invention, active sensors may integrate witha system that permits passive or active visual markers to be utilized tocapture motion of particular points on a user's body or equipment. Thismay be performed in a simply two-dimensional manner or in athree-dimensional manner if the mobile device is configured with two ormore cameras, or if multiple cameras or mobile devices are utilized tocapture images such as video and share the images in order to createtriangulated three-dimensional motion data from a set of two-dimensionalimages obtained from each camera. Another embodiment of the inventionmay utilize inertial measurement units (IMU) or any other sensors thatcan produce any combination of orientation, position, velocity and/oracceleration information to the mobile device. The sensors may thusobtain data that may include any combination of one or more valuesassociated with orientation (vertical or North/South or both), position(either via through Global Positioning System, i.e., “GPS” or throughtriangulation), velocity (in all three axes), acceleration (in all threeaxes). All motion capture data obtained from the various sensor typesmay be saved in a database for analysis, monitoring, compliance, gameplaying or other use and/or data mining, regardless of the sensor type.

In one or more embodiments of the invention, a sensor may be utilizedthat includes a passive marker or active marker on an outside surface ofthe sensor, so that the sensor may also be utilized for visual tracking(either two-dimensional or three-dimensional) and for orientation,position, velocity, acceleration or any other physical quantity producedby the sensor. Visual marker embodiments of the motion captureelement(s) may be passive or active, meaning that they may either have avisual portion that is visually trackable or may include a lightemitting element such as a light emitting diode (LED) that allows forimage tracking in low light conditions. This for example may beimplemented with a graphical symbol or colored marker at the end of theshaft near the handle or at the opposing end of the golf club at thehead of the club. Images or videos of the markers may be analyzedlocally or saved in the database and analyzed and then utilized in datamining.

Embodiments of the motion capture sensors may be generally mounted on ornear one or more end or opposing ends of sporting equipment, for examplesuch as a golf club and/or anywhere in between (for EI measurements) andmay integrate with other sensors coupled to equipment, such as weapons,medical equipment, wristbands, shoes, pants, shirts, gloves, clubs,bats, racquets, balls, etc., and/or may be attached to a user in anypossible manner. For example, a rifle to determine where the rifle waspointing when a recoil was detected by the motion capture sensor. Thisdata may be transmitted to a central server, for example using a mobilecomputer such as a mobile phone or other device and analyzed for wargames practice for example. In addition, one or more embodiments of thesensor can fit into a weight port of a golf club, and/or in the handleend of the golf club. Other embodiments may fit into the handle of, orend of, a tennis racquet or baseball bat for example. One or moreembodiments of the invention may also operate with balls that haveintegrated sensors as well. One or more embodiments of the mobile devicemay include a small mountable computer such as an IPOD® SHUFFLE® orIPOD® NANO® that may or may not have integrated displays, and which aresmall enough to mount on a shaft of a piece of sporting equipment andnot affect a user's swing. Alternatively, the system may calculate thevirtual flight path of a ball that has come in contact with equipmentmoved by a player. For example with a baseball bat or tennis racquet orgolf club having a sensor integrated into a weight port of other portionof the end of the club striking the golf ball and having a second sensorlocated in the tip of the handle of the golf club, or in one or moregloves worn by the player, an angle of impact can be calculated for theclub. By knowing the loft of the face of the club, an angle of flightmay be calculated for the golf ball. In addition, by sampling the sensorat the end of the club at a high enough speed to determine oscillationsindicative of where on the face of the club the golf ball was struck, aquality of impact may be determined. These types of measurements and theanalysis thereof help an athlete improve, and for fitting purposes,allow an athlete to immediately purchase equipment that fits correctly.Centering data may be uploaded to the database and data mined forpatterns related to the bats, racquets or clubs with the best centeringon average, or the lowest torsion values for example on a manufacturerbasis for product improvement. Any other unknown patterns in the datathat are discovered may also be presented or suggested to users orsearch on by users, or paid for, for example by manufacturers or users.

One or more embodiments of the sensor may contain charging features suchas mechanical eccentric weight, as utilized in some watches known as“automatic” or “self-winding” watches, optionally including a smallgenerator, or inductive charging coils for indirect electromechanicalcharging of the sensor power supply. Other embodiments may utilize plugsfor direct charging of the sensor power supply or electromechanical ormicroelectromechanical (MEMS) based charging elements. Any other type ofpower micro-harvesting technologies may be utilized in one or moreembodiments of the invention. One or more embodiments of the sensor mayutilize power saving features including gestures that power the sensoron or off. Such gestures may include motion, physical switches, contactwith the sensor, wireless commands to the sensor, for example from amobile device that is associated with the particular sensors. Otherelements that may couple with the sensor includes a battery, low powermicrocontroller, antenna and radio, heat sync, recharger and overchargesensor for example. In addition, embodiments of the invention allow forpower down of some or all of the components of the system until anelectronic signal from accelerometers or a mechanical switch determinesthat the club has moved for example.

One or more embodiments of the invention enable Elasticity Inertia or EImeasurement of sporting equipment and even body parts for example.Placement of embodiments of the sensor along the shaft of a golf club,tennis racquet, baseball bat, hockey stick, shoe, human arm or any otheritem that is not perfectly stiff enables measurement of the amount offlex at points where sensors are located or between sensors. The angulardifferences in the each sensor over time allow for not only calculationof a flex profile, but also a flex profile that is dependent on time orforce. For example, known EI machines use static weights between tosupport points to determine an EI profile. These machines thereforecannot detect whether the Ell profile is dependent upon the forceapplied or is dependent on the time at which the force is applied, forexample EI profiles may be non-linear with respect to force or time.Example materials that are known to have different physical propertieswith respect to time include Maxwell materials and non-Newtonian fluids.

A user may also view the captured motion data in a graphical form on thedisplay of the mobile device or for example on a set of glasses thatcontains a video display. The captured motion data obtained fromembodiments of the motion capture element may also be utilized toaugment a virtual reality display of user in a virtual environment.Virtual reality or augmented reality views of patterns that are found inthe database via data mining are also in keeping with the spirit of theinvention.

BRIEF DESCRIPTION OF THE DRAWINGS

The above and other aspects, features and advantages of the ideasconveyed through this disclosure will be more apparent from thefollowing more particular description thereof, presented in conjunctionwith the following drawings wherein:

FIG. 1 illustrates an embodiment of the system that enables a system andmethod for utilizing motion capture data.

FIG. 1A illustrates a logical hardware block diagram of an embodiment ofthe computer.

FIG. 1B illustrates an architectural view of an embodiment of thedatabase utilized in embodiments of the system.

FIG. 1C illustrates a flow chart for an embodiment of the processingperformed by embodiments of the computers in the system as shown inFIGS. 1 and 1A.

FIG. 1D illustrates a data flow diagram for an embodiment of the system.

FIG. 2 illustrates an embodiment of the overall modes of the softwareprogrammed to execute on the computer of the mobile device, wherein thecomputer is configured to recognize the motion capture elements, obtaindata, analyze the data and display motion analysis data.

FIG. 3 illustrates displays associated with FIG. 2 in greater detail.

FIG. 4 illustrates and embodiment of the recognition module that isconfigured to assign particular sensors to particular locations on anathlete and/or on a piece of equipment.

FIG. 5 illustrates an embodiment of the obtain data module that isconfigured to obtain data from a camera (optionally on the mobile deviceor obtain through another camera or camera on another mobile device),data from motion capture elements, i.e., any combination of visualmarkers or sensors as assigned to particular portions of the user's bodyor piece of equipment. In addition, the figure shows displays dataanalyzed by the analysis module and generated by the display module toshow either the user along with motion analysis data, or with motionanalysis data alone.

FIG. 6 illustrates a detailed drill down into the motion analysis datato display including overall efficiency, head, torso, hip, hand, club,left and right foot segment efficiencies. Embodiments of the inventionthus enable physical training specific to the area that a user needs asdetermined by the analysis module.

FIG. 7 illustrates a close up display of motion analysis data associatedwith a user, without use of an image associated with a user.

FIG. 8 illustrates an embodiment of the motion capture element thatoptionally includes a visual marker and/or sensor.

FIG. 9 illustrates a front view of FIG. 8.

FIG. 10 illustrates an embodiment of the motion capture elementimplemented with a passive marker and gray scale images thereof to showhow the marker can be tracked by obtaining an image and searching for aluminance change from black to white.

FIG. 11 illustrates a hardware implementation of the sensor portion of amotion capture element implemented as a wireless inertial measurementunit, and an embodiment as configured to couple with a weight port of agolf club for example.

FIG. 11A illustrates and embodiment of a multiple battery arrangementwherein a plurality of batteries may be coupled in parallel and still bearranged physically on top of one another.

FIG. 11B illustrates and embodiment of a multiple motion capture elementcalibration element for calibrating multiple motion capture elements atonce.

FIG. 12 illustrates an embodiment of the motion capture element asconfigured to couple with different golf club types and a shoe.

FIG. 13 illustrates a close-up of the shoe of FIG. 12 along with apressure map of a shoe configured with a pressure matt inside the shoeconfigured to output pressure per particular areas of the shoe.

FIG. 14 illustrates an embodiment of sunglasses configured with anembodiment of the motion capture element.

FIG. 15 illustrates an embodiment of a display that depicts the locationof a golf ball strike as determined by the oscillations in the golf clubface during and/or after the golf club impacts a golf ball.

FIG. 16 illustrates a camera alignment tool as utilized with embodimentsof the system to create normalized images for capture data mining.

FIG. 17 illustrates a balance box and center alignment line to aid incentering a user to obtain image data.

FIG. 18 illustrates a balance box and center alignment line, along withprimary and secondary shaft lines to aid in centering and analyzingimages of the user.

FIG. 19 illustrates an embodiment of the display configured to aid inclub fitting for a user, wherein a user may test multiple clubs andwherein the display shows motion analysis data. For embodiments of theinvention may be utilized to obtain sensor data that is utilized forpurchase and order fulfillment options, buttons such as “purchase” and“customer order” may be utilized.

FIG. 20 illustrates an embodiment of the display configured to displaymotion analysis data along with the user, some of which is overlaid ontothe user to aid in understanding the motion analysis data in a morehuman understandable format. In addition, motion analysis dataassociated with the user can be shown numerically as shown for exampleas “efficiency” of the swing, and the velocity of the swing.

FIG. 21 illustrates an embodiment of the system configured to display auser from multiple angles when multiple cameras are available. One ormore embodiments of the system may show one image of the user at a timein slow motion as the user moves, while changing the angle of the viewof the user in normal time, which is known as BULLET TIME®.

FIG. 22 illustrates another embodiment of the multi-angle display as isalso shown in FIG. 21 wherein this figure also includesthree-dimensional overlay graphics to aid in understanding the motionanalysis data in a more human understandable manner.

FIG. 23 shows an embodiment of the system configured to display motionanalysis data on a mobile computer, personal computer, IPAD® or anyother computer with a display device large enough to display the desireddata.

FIG. 24 illustrates a timeline display of motion analysis data thatshows multiple sensor angular velocities in reference to the world orfor example to a portion of the piece of equipment or object to hit or avirtual spine or a boney landmark, as obtained from sensors on a userand/or on a piece of equipment.

FIG. 25 illustrates a timeline display of motion analysis data thatshows multiple sensor angular speeds obtained from multiple sensors on asecond user and on a piece of equipment. Efficient movement pattern ofbody segments know as a kinetic chain and of kinematic segmentalsequencing.

FIG. 26 illustrates a timeline display of a user along with peak andminimum angular speeds along the timeline shown as events along the timeline instead of as Y-axis data as shown in FIGS. 24 and 25. In addition,a graph showing the lead and lag of the golf club along with the droopand drift of the golf club is shown in the bottom display wherein thesevalues determine how much the golf club shaft is bending in two axes asplotted against time.

FIG. 27 illustrates a display of the calculated flight path of a ballbased on the motion analysis data wherein the display is associated withany type of computer, personal computer, IPAD® or any other type ofdisplay capable of displaying images.

FIG. 28 illustrates a display of the calculated flight path of a ballbased on motion analysis data wherein the display is coupled with amobile device.

FIG. 29 illustrates a display of a broadcast television event wherein atleast one motion capture element in the form of a motion sensor iscoupled with the golf club and optionally the user. The display can beshown in normal time after the athlete strikes the ball, or in slowmotion with motion analysis data including the three-dimensional overlayof the position of the sensor on the end of the club shown as a traceline and including the angle of the plane in which the swing takes placeversus the horizontal plane. In addition, other motion analysis data maybe shown such as the swing speed, distance (calculated or actual) andefficiency.

FIG. 29A illustrates a display of a user showing a portions of the swingthat are color coded in relation to another swing from that user oranother user to show relative speed differences at different locationsof the swing.

FIG. 29B illustrates a display of the user of FIG. 29A wherein the swingis shown in spatial relation to another swing, or average of swings or“best” swing of that user or another user.

FIG. 30 illustrates a display of the swing path with a strobe effectwherein the golf club in this example includes sensors on the club headand near the handle, or optionally near the hands or in the gloves ofthe user. Optionally, imaged based processing from a high speed cameramay be utilized to produce the display. The swing path for good shotscan be compared to swing paths for inaccurate shots to display thedifferences in a human understandable manner.

FIG. 31 illustrates a display of shaft efficiency as measured throughthe golf swing. For example, by obtaining motion capture data near theclub head and club handle, graphical strobe effects and motion analysisdata can show the club head speed, club handle speed and club shaftefficiency in normal time or slow motion.

FIG. 32 illustrates a display of putter head acceleration based on atleast one sensor near the putter head, for example as coupled into theweight port of a putter. The various quantities from the motion analysisdata can be displayed to aid in understanding acceleration patterns forgood putts and bad putts to help viewers understand acceleration in amore human understandable manner.

FIG. 33 illustrates a display of dynamic lie angle, wherein the lieangle of the player at address before swinging at the ball can becompared to the lie angle at impact to help the viewer understand howlie angle effects loft and ball flight.

FIG. 34 illustrates a display of shaft release, wherein the angularrelease velocity of the golf shaft is a large component of theefficiency of a swing. As shown, a display of a golfer that has sensorsnear his waist and hips and sensors on the golf club head and handle, oras determined through image processing with or without visual markers,is shown with the motion analysis data.

FIG. 35 illustrates a display of rotational velocity wherein the faceangle, club face closure in degrees per second, the loft angle and lieangle are shown as obtained from a motion capture element on the clubhead for example.

FIG. 36 illustrates a display of historical players with motion analysisdata computed through image processing to show the performance of greatplayers.

FIG. 36A illustrates a display of a historical player showing the motionfrom a motion capture sensor or as calculated through image processingand which may be compared to or contrasted with a given user's swing(see also FIGS. 29A and 29B).

FIG. 37 illustrates one embodiment of the equations used for predictinga golf ball flight path as used to produce displays as shown in FIGS. 27and 28.

FIG. 38 shows elements of an embodiment of the motion capture elementconfigured to fit into the end of a golf shaft.

FIG. 39 shows an embodiment of the apparatus of FIG. 38 integrated intothe handle of a golf club.

FIG. 40 shows elements of another embodiment of the invention configuredto fit into the end of a golf shaft

FIG. 41 shows another embodiment of the apparatus of FIG. 40 integratedinto the handle of a golf club.

FIG. 41A illustrates and embodiment of an external mount for a mobilecomputer to couple the mobile computer to a piece of equipment.

FIG. 42 shows a graph of swing data as obtained from one or moreembodiments of the motion capture element.

FIG. 43A shows a user interface that displays a query to the golfer toenable the golfer to count a shot or not.

FIG. 43B shows a user interface that displays a map of the golf courseand locations of golf shots along with the particular club used at eachshot location.

FIG. 43C shows a user interface that displays a metrics associated witheach shot at each of the locations shown in FIGS. 43A and 43B.

FIG. 44 shows a flow chart of an embodiment of the functionalityspecifically programmed into the mobile device in order to intelligentlydetermine whether to query a golfer to count a shot and to record shotsthat are so designated.

FIG. 45 shows a flow chart of an embodiment of the functionalityspecifically programmed into the mobile computer and/or motion captureelement microcontroller in order to intelligently determine whether toquery a golfer to count a shot and to record shots that are sodesignated.

FIG. 46 illustrates an embodiment of the memory utilized to store data.

FIG. 47 shows a flow chart of an embodiment of the functionalityspecifically programmed into the microcontroller to determine whether aprospective strike has occurred.

FIG. 48 illustrates a typical golf swing signature, which is compared tomotion capture data to eliminate false positive impact events.

DETAILED DESCRIPTION OF THE INVENTION

A motion capture sensor that produces motion capture data that may beanalyzed, displayed and otherwise utilized by a system and method forutilizing motion capture data will now be described. In the followingexemplary description numerous specific details are set forth in orderto provide a more thorough understanding of the ideas describedthroughout this specification. It will be apparent, however, to anartisan of ordinary skill that embodiments of ideas described herein maybe practiced without incorporating all aspects of the specific detailsdescribed herein. In other instances, specific aspects well known tothose of ordinary skill in the art have not been described in detail soas not to obscure the disclosure. Readers should note that althoughexamples of the innovative concepts are set forth throughout thisdisclosure, the claims, and the full scope of any equivalents, are whatdefine the invention.

FIG. 1 illustrates an embodiment of the invention, namely motion captureelement 111 that produces motion capture data that may be analyzed,displayed and otherwise utilized by system that enables a system andmethod for utilizing motion capture data 100. The system generallyincludes at least one motion capture element 111 that couples with user150 or with piece of equipment 110, via mount 192, for example to a golfclub, or baseball bat, tennis racquet, hockey stick, weapon, stick,sword, or any other piece of equipment for any sport, or other sportingequipment such as a shoe, belt, gloves, glasses, hat, or any other item.The at least one motion capture element 111 may be placed at one end,both ends, or anywhere between both ends of piece of equipment 110 oranywhere on user 150 and may for example be utilized for EI measurementsof any item. The motion capture element may optionally include a visualmarker, either passive or active, and/or may include a wireless sensor,for example any sensor capable of providing any combination of one ormore values associated with an orientation (North/South and/or up/down),position, velocity and/or acceleration of the motion capture element.The computer may be configured to obtain data associated with anidentifier unique to each piece of equipment 110, e.g., clothing, bat,etc., for example from an RFID coupled with club 110, i.e., identifier191, and optionally associated with the at least one motion captureelement, either visually or wirelessly, analyze the data to form motionanalysis data and display the motion analysis data on display 120 ofmobile device 101, or alternatively or in combination on mobile computer105 or on any computer that may access database 172 for example viaInternet 171 or network 170 or website 173.

As shown, embodiments of system 100 that may utilize motion capture dataproduced by motion capture element 111 generally include a mobile device101 and applications that execute thereon, that includes computer 160,shown as located internally in mobile device 101 as a dotted outline,(i.e., also see functional view of computer 160 in FIG. 1A), display 120coupled to computer 160 and a wireless communications interface(generally internal to the mobile device, see element 164 in FIG. 1A)coupled with the computer. Since mobile phones having mobile computersare ubiquitous, users of the system may purchase one or more motioncapture elements and an application, a.k.a., “app”, that they install ontheir pre-existing phone to implement an embodiment of the system thatutilizes an embodiment of motion capture element 111. Motion capturecapabilities are thus available at an affordable price for any user thatalready owns a mobile phone, tablet computer, music player, etc., whichhas never been possible before. Each mobile device 101, 102, 102 a, 102b may optionally include an internal identifier reader 190, for examplean RFID reader, or may couple with an identifier reader or RFID reader(see mobile device 102) to obtain identifier 191. Alternatively,embodiments of the invention may utilize any wireless technology in anyof the devices to communicate an identifier that identifies equipment110 to the system.

The motion capture data from motion capture element 111, any dataassociated with the piece of equipment 110, such as identifier 191 andany data associated with user 150, or any number of such users 150, suchas second user 152 may be stored in locally in memory, or in a databaselocal to the computer or in a remote database, for example database 172.Data may be stored in database 172 from each user 150, 152 for examplewhen a network or telephonic network link is available from motioncapture element 111 to mobile device 101 and from mobile device 101 tonetwork 170 or Internet 171 and to database 172. One or more embodimentsof the motion capture element may communicate directly with network 170or directly with mobile device 101 or to network 170 via mobile device101. Embodiments may utilize BLE or other communications devices and/orcellular chips for example to communicate wirelessly in a local ordistal manner as desired and based on available power. Data mining isthen performed on a large data set associated with any number of usersand their specific characteristics and performance parameters. Forexample, in a golf embodiment of the invention, a club ID is obtainedfrom the golf club and a shot is detected by the motion capture element.Mobile computer 101 stores images/video of the user and receives themotion capture data for the events/hits/shots/motion and the location ofthe event on the course and subsequent shots and determines anyparameters for each event, such as distance or speed at the time of theevent and then performs any local analysis and display performance dataon the mobile device. When a network connection from the mobile deviceto network 170 or Internet 171 is available or for example after a roundof golf, the images/video, motion capture data and performance data isuploaded to database 172, for later analysis and/or display and/or datamining. In one or more embodiments, users 151, such as originalequipment manufacturers pay for access to the database, for example viaa computer such as computer 105 or mobile computer 101 or from any othercomputer capable of communicating with database 172 for example vianetwork 170, Internet 171 or via website 173 or a server that forms partof or is coupled with database 172. Data mining may execute on database172, for example that may include a local server computer, or may be runon computer 105 or mobile device 101, 102, 102 a or 102 b and access astandalone embodiment of database 172 for example. Data mining resultsmay be displayed on mobile device 101, computer 105, televisionbroadcast or web video originating from camera 130, 130 a and 103 b, or104 or accessed via website 173 or any combination thereof.

One or more embodiments of motion capture element 111 may communicatevia BLUETOOTH® and/or Bluetooth Low Energy (“BLE”). BLE technologyencompasses new hardware standards to reduce power consumption as wellas a new software standard to access information on BLE devices. BLE mayutilize one or more Low Energy Profiles that further conserve power. Theassociated software standard is known as “GATT” (Generic ATTributeprofile). Mobile computer 105 and/or mobile device 101 and/or any otherdevice supporting BLE utilizes a compatible hardware radio and adapteras well as the GATT-enabled software. Apps running on mobile device 101for example having GATT software, use that software to communicate withBLE devices, such as a BLE embodiment of motion capture element 111.GATT is a relatively simple protocol that defines the features of BLEdevices as a set of services, each of which includes of a set ofcharacteristics that describe the data values associated with thatservice. An app communicating with a BLE device using GATT can performessentially three operations: (1) Read the value of a characteristicfrom the device, (2) Send a new value for a characteristic to the deviceand (3) Command the device to notify the app whenever the value of acharacteristic changes. The GATT software on mobile device 101 and inmotion capture element 111 handles all of the low-level details ofestablishing a link to and exchanging messages to synchronize mobiledevice 101 and the motion capture element 111. This protocol simplifiesthe implementation of the app software. Using GATT enables developers tocreate custom Profiles for these services. There are some profiles thatare approved by the Bluetooth Special Interest Group (SIG) related tobattery, heart rate, temperature, etc. Devices implementing theappropriate profile will be compatible with software that implements theprofile. BLE also allows for the development of proprietary profilesthat are not adopted by the Bluetooth SIG. This is possible when theimplementer of the profile controls the software on the master deviceand slave device. In one or more embodiments, a TEXAS INSTRUMENTS®TICC2540 chip is utilized as the BLE solution.

This chip allows master or slave mode to be switched programmatically toenable each motion capture element 111 to become a master or slave asdesired. In one or more embodiments, if the mobile device 101 isunavailable for a predetermined amount of time, then a fallback masteris arbitrated by each chip, for example by sending a time stamp whereinthe largest time stamp sent becomes the master. The master thencoordinates between chips to save data until communications is restoredto mobile device 101 for example. Any other mechanism for utilizingmaster and slave modes of the BLE device is in keeping with the spiritof the invention.

One or more embodiments of the invention utilize a custom proprietaryprofile in compliance with GATT but which is generic as follows. Oneembodiment utilizes GATT to define a unique 128-bit UUID (universallyunique identifier) service. Under this profile a single characteristicis defined that enables the sending and receiving of a string of bytes.Embodiments thus utilize GATT to define a profile that behaves much likea serial port, wherein the port and you is configured to send andreceive data. The software or device on either end of this GATT profilecan then decode the message that is being sent through the singlecharacteristic. One or more embodiments of the invention also mayutilize a custom proprietary profile using GATT. This profile includes aset of services and characteristics specific for the application. Thisincludes the following services: battery, accelerometer, gyroscope,magnetometer, time, temperature. Asserting characteristics associatedwith these services enables communication of associated values. This mayoccur on an event or timed basis via motion capture element 111 or aspolled effectively by mobile computer 105 or mobile device 101 forexample. In one or more embodiments of the invention, any motion captureelement 111 may switch automatically from master to slave mode and/orrelay messages to any other motion capture element for transmittal tomobile device 101 or any other computer that may wirelessly communicatewith motion capture element 111.

One or more embodiments of the invention are configured to updatefirmware wirelessly. In one or more embodiments, the microcontrollercoupled with the sensors includes a boot loader in memory, for examplenon-volatile memory. The boot loader interacts with the wirelesstransceiver (or transmitter and receiver) to obtain a new firmware imagefor the microcontroller. The firmware is stored in the memory at whichtime there are two firmware code sets stored in the memory, i.e., theold firmware and the new firmware. Once the firmware is validated, forexample via any type of validity check, e.g., CRC check (cyclicredundancy check), then the boot loader begins to execute the newfirmware and frees the memory associated with the old firmware. The bootloader may optionally assert that the firmware has successfully beenupdated.

In one or more embodiments of the communication protocol utilized on thewireless interface coupled with the microcontroller, may include BLENotifications. For example, communications between the remote computer101, 105, etc., having the firmware, i.e., sender of the firmware andthe receiver of the firmware, i.e., motion capture element 111 may bevia BLE Notifications. The server sends notifications with the handle ofits own characteristic 128-bit UUID, which the target will be lookingfor because it will have done service discovery for this well known128-bit characteristic after pairing. The server, for example mobiledevice 101 performs discovery for this 128-bit characteristic on motioncapture element 111, because responses will be received from this motioncapture element 111 as Notifications with that handle.

This profile, identified by 128-bit UUID, is referred to herein as theGSP Profile (for Generic Serial Protocol, similar to a mini-BLEequivalent to the BlueTooth SPP profile). However, the protocol can doinclude significantly more functionality than firmware download. Thesame profile may be utilized to rapidly and efficiently obtain motioncapture data as well, which provides saving in code size and complexity.

128-Bit Service UUID:

This service may be implemented with one characteristic which sends andreceives Notifications (it does not do read, or write, etc.), and thecharacteristic may be implemented with its own 128-bit UUID. Forexample, packets sent through this GSP pipe may utilize this structure:

<SOP><CMD LSB><CMD MSB><LEN LSB><LEN MSB><DATA><CHK>

The Command MSB and the Length LSB and MSB and Data are all optional andvary according to the Command LSB.

For firmware operations, everything is simplified by the fact thatCommand MSB and Length LSB/MSB are not required to be used, i.e., in oneor more embodiments, the commands and responses have known lengths. Inthis case, the OAD packets will be one of two formats:

<SOP><CMD LSB><DATA><CHK> <SOP><CMD LSB><CHK>

Wherein the “SOP” is a start-of-packet indicator which may beimplemented as having a value of 0xFE. The “CHK”, i.e., packet checksum,may be implemented for example as the byte-wise sum of all bytes,excluding the SOP, subtracted from 0x100. Any other type of checksum maybe utilized as desired. In the example described herein, the sum of allbytes, excluding the SOP and FCS, added to the FCS should result in zerofor a valid packet that has not been corrupted.

A subset of the 65536 commands that this pipe can handle may be reservedfor firmware download as follows, namely commands 0x70-0x7F.

#define GSP_OAD_REQ_ID 0x70//Len=0 Request the RC image Id.

#define GSP_OAD_REQ_BEG 0x71//Len=0 Get ready to begin a DL transfer.

#define GSP_OAD_REQ_CHK 0x72//Len=0 Calculate the CRC over the DL image.

#define GSP_OAD_CMD_DAT 0x77//Len=128 128-byte chunk of DL, image.

#define GSP_OAD_CMD_JMP 0x78//Len=0 Jump to boot loader; instantiate DL.

#define GSP_OAD_CMD_ADR 0x79//Len=2 Set server address back asspecified.

#define GSP_OAD_RSP_CHK 0x7D//Len=1 True/false response to check DL.

#define GSP_OAD_RSP_BEG 0x7E//Len=0 Ready to receive a DL transfer.

#define GSP_OAD_RSP_ID 0x7F//Len=4 Response with the RC image Id.

Notifications from the server, i.e., source of the firmware, are 0x70,0x71, 0x72, 0x77 and 0x78, which are described in further detail below:

0x70—a server should request the image Id to determine if motion captureelement 111 it has paired with

a) needs this image

b) is compatible with this image

In one or more embodiments, a 4-byte image Id may be utilized toidentify classes of devices, and within each class, the s/w version,etc.

Notification from server to target:

FE 70 90

0x71—server commands motion capture element 111 to get ready to receivea download, the target pre-erases the memory, for example flash pagesused to store the firmware so that the transfer is faster

FE 71 8F

0x72—server finished uploading the firmware to motion capture element111 and now commands the motion capture element 111 to perform a CRCcalculation over the image stored in memory to ensure that it isacceptable to provide to the boot loader to instantiate in memory as thenew firmware to execute.

FE 72 8E

0x77—server feeds 128 bytes at a time. This number can be increased ordecreased if desired. Whatever this number is, it generally should be aneven multiple of both the memory word size, for example flash word size(4) and the flash bank size (32 kb). The payload of this packet startswith the relative offset of the 128-bytes, in LSB, MSB order. The imageto send is a monolithic binary image with code gaps filled with 0xFF sothere is no addressing information in it. As the firmware is dividedinto 128-byte chunks and sent, the offset is prepended into thismonolithic image. The offset for example is calculated as the “ActualOffset/Flash Word Size”.

In one or more embodiments, standard flash word size is 4. The reasonfor the division is that it allows the entire image to be indexed with aunit 16, and because the Addr/4 is what is used to write to internalflash locations anyway. This identifies the relative chunk, i.e., therelative index into the monolithic image. So the 2nd 128-byte chunk willbe identified as 128/4->0x0020, and appears in the packet below likethis:

FE 77 20 00 . . . 128 bytes of monolithic binary data . . . CHKSUM

where the CHKSUM is again optionally the byte-wise sum of all 128 binarydata bytes, plus 0x77, 0x20, 0x00, and then subtracted from 0x100.

0x78—when server receives the 0x7D check image response with success,the server commands motion capture element 111 to act on this new imageby resetting into the boot loader which instantiates the downloadedfirmware image as the new run-code image.

FE 78 88

Responses from the OAD target are 0x7D, 0x7E and 0x7F

0x7D—acting on this command takes a microcontroller such as the SILICONLABS® 8051 about a minute to do the byte-wise CRC of the downloadedimage and compare it to the CRC in the message. This response has 1byte, a Boolean where 1 (True) means that the CRC matches and the imageis good, 0 otherwise:

FE 7D 00 83 on fail to match

FE 7D 01 82 on success

0x7E—acting on the command to prepare to receive and download, thetarget pre-erases all of the memory, for example flash pages, that willbe used to store the downloaded firmware image and responds with successwhen done with the following message:

FE 7E 01 81

0x7F—responding with the 4-byte image Id of the currently running image.Consider the image Id of 0x01020304:

FE 7F 04 03 02 01 77

In the case of motion capture element 111 receiving a corruptednotification, motion capture element 111 may force the server to backupand restart sending the image from a given address, so a command frommotion capture element 111 to the server in this case may be implementedas 0x79:

0x79—when a bad notification is detected, the microcontroller keepstrack of the last good packet that was received. The microcontrollerwill then request the relative offset into the monolithic image wheretransmission should start again by requesting and receiving 0x77commands. Thus the two-byte payload in LSB, MSB order is the equivalentof the offset being pre-pended to the 0x77 data. For example if the lastgood packet had relative offset 0x1240, and after re-covering parsingafter a bad notification, the address is far past that, the target willrequest to go back to 0x1260 (the next 128-byte chunk that is requiredto continue the contiguous valid data):

FE 79 60 12 15

One or more embodiments are also configured to conserve battery power bymaintaining a link between the radio in the motion capture element andthe radio in the mobile computer or other external device wherein thelink includes a connection interval. The connection interval is thepreconfigured interval at which the two radios communicate with oneanother to inform one another that the communication link is stillalive. In this manner the radios may minimize transmissions so that thelink is maintained, or otherwise dropped if no response occurs over agiven threshold. For example if connection interval is set to 1 second,then every second a communication may occur from one radio to the otherand or in both directions to inform one or both devices that the link isalive. Generally, the longer the connection interval, the less powerutilized. In one or more embodiments, the connection interval may bechanged or throttled based on the amount of data being transferred, orbased on motion capture sensor values. For example, a long connectioninterval may be utilized while maintaining a link with a mobilecomputer, such as a mobile phone wherein there is no motion capture datato transfer, for example if no swing event, etc., has occurred. Ifhowever an event has occurred or for any other reason, a shorterconnection interval may be switched to, so that the link is maintainedduring transfer with for example shorter intervals between data messagesfor example. The longer connection interval may be switched to whenthere is no data to send, yet the two devices still desire to maintainthe link between them. In one or more embodiments the motion captureelement microcontroller for example maintains a communication linkbetween the radio and a second radio through transmission of informationvia the radio at a first communication interval when no valid event hasoccurred over a predetermined first period wherein the firstcommunication interval between transmission of information is longerthan a time interval between transmission of packets related to a validevent or other motion capture data.

In addition, embodiments of the invention may intelligently calculate orestimate a gravity vector for orientation at one or more points in timeto increase accuracy and change sampling rates as a function of time oracceleration to further increase accuracy over a particular G-forcerange for example. One or more embodiments of motion capture element 111measure acceleration directly via accelerometers, which do not directlymeasure speed. Acceleration is the rate of change of velocity andangular velocity is the rate of change of orientation. One or moreembodiments of motion capture element 111 and/or mobile device 101include program code configured to implement an algorithm on a computerto estimate initial velocity and initial orientation. The measured datais then integrated via an “inertial navigation” algorithm to derivespeed. This integration algorithm utilizes the estimate of the initialvelocity and initial orientation of motion capture element 111 at thebeginning of integration.

One or more embodiments of motion capture element 111 may also notdirectly measure the initial conditions, i.e., the initial velocity andinitial orientation. However under certain conditions the initialvelocity and initial orientation can be estimated indirectly from themotion capture data. The simplest approach is to presume, a period oftime during which motion capture element 111 and/or piece of equipment110 and/or user 150 having is at rest. In this case the accelerometerreadings reflect the tilt of the sensor, but not the heading, and theinitial orientation of motion capture element 111 can be derived fromthe accelerometer. Note that in one or more embodiments, heading ispresumed since an accelerometer cannot directly measure heading. Theinitial velocity in this case is assumed to be zero since motion captureelement 111 is presumed to be at rest.

As follows, boldface lower case letters represent vectors, and uppercase letters represent matrices. A superscript on a vector indicates thereference frame for the vector: u^(w) is vector u measured in the worldreference frame, while u^(B) is the vector u measured in the “bodyframe” of the sensor. If no subscript is provided, the vector ismeasured in the world reference frame. The following quantities arelisted below and are utilized in one or more embodiments of thealgorithm to estimate initial velocity and initial orientation at thebeginning of integration:

-   -   s^(B) The reading from the accelerometer on motion capture        element 111. s is “specific force”; it measures the combination        of acceleration and gravity.    -   s^(B) Average of accelerometer readings over some time period.    -   g The gravity vector. In the world reference frame g points in        the −z direction.    -   Q The orientation of the sensor relative to the world reference        frame. This is an orthogonal, or “rotation” matrix that        transforms vectors measured in the sensor reference frame into        equivalent vectors measured in the world reference frame. Thus        for a vector u we have Qu^(B)=u^(W)    -   Q₀ The initial orientation of motion capture element 111, prior        to the inertial navigation integration.    -   ν Velocity of motion capture element 111, measured in the world        reference frame.    -   ν₀ The initial velocity of motion capture element 111, prior to        the inertial navigation integration.

The simplest initialization is performed presuming that motion captureelement 111 is at rest for some period of time, is to find Q₀ so that

Q ₀ s ^(B) =−g

and to set ν₀=0. The equation Q₀s^(B)=−g signifies that theaccelerometer is measuring gravity only (actually the negative ofgravity), assuming there is no motion. However the accelerometermeasures gravity in the accelerometer's reference frame, so the motioncapture data is transformed to the global frame via matrix Q₀ to recoverthe gravity vector. This approach is simple, but it may not give goodresults if the assumption of no motion during the initialization periodis false. Hence, one or more embodiments of the invention may utilize amore sophisticated initialization algorithm that attempts to compensatefor possible motion during the initialization period. To describe thisalgorithm the core differential equations involved in inertialnavigation are explained below along with the following additionalquantities:

-   -   ω^(B) The angular velocity reading from the gyro in motion        capture element 111.    -   ω^(W) The angular velocity of motion capture element 111 in the        world reference frame.    -   S(ω) The skew-symmetric matrix corresponding to the        cross-product with ω:

S(ω)u=ω×u

-   -   α Acceleration of motion capture element 111, measured in the        world reference frame. Note that this is not the same as the        accelerometer reading, since (1) it is in the world frame, not        the sensor frame        -   (α=α^(W)); and (2) it does not include the effect of            gravity.

The dynamic state of motion capture element 111, at any point in time,may be defined by the quantities Q, ν, α, ω. These are functions oftime. They are linked by the differential equations:

$\frac{v}{t} = a$ $\frac{Q}{t} = {{S(\omega)}Q}$

Since one or more embodiments of motion capture element 111 measuress^(B) and ω^(B) rather than α^(W) and ω^(W), these differentialequations are transformed to use the motion capture data from motioncapture element 111:

$\frac{v}{t} = {{Qs}^{B} + g}$$\frac{Q}{t} = {{QS}\left( \omega^{B} \right)}$

Note that the transformation of the second differential equation isnon-obvious, but rather follows from the identity S(Qω)=QS(ω)Q^(T).

If the initial conditions ν₀, Q₀ are known, then in principle it ispossible to integrate the gyro and accelerometer readings and calculatevelocity and orientation throughout motion of motion capture element111, for example during a swing of piece of equipment 110. If Q(t) isfound by integrating the second equation, then the first equation may beintegrated as follows:

ν(t)=ν₀+∫₀ ^(t)(Qs ^(B) +g)dt=ν ₀+∫₀ ^(t) Qs ^(B) dt+gt

Determining Q(t) is performed by integrating

${\frac{Q}{t} = {{QS}\left( \omega^{B} \right)}},$

which is straightforward, however the initial condition Q(0)=Q₀, i.e.,the starting orientation, is generally unknown. It is possible to“factor out” Q, as follows: By defining P(t) by Q(t)=Q₀P(t), then Psatisfies the same differential equation:

$\frac{Q}{t} = {{Q_{0}\frac{P}{t}} = {{{QS}\left( \omega^{B} \right)} = {\left. {Q_{0}{{PS}\left( \omega^{B} \right)}}\Rightarrow\frac{P}{t} \right. = {{PS}\left( \omega^{B} \right)}}}}$

And the initial condition for P is simply P(0)=I. P represents the netchange in orientation from a particular starting orientation, which maybe unknown. The equation may then be integrated to find P(t). Thetransformation is then applied to the equation for velocity:

ν(t)=ν₀+∫₀ ^(t) Q ₀ Ps ^(B) dt+gt=ν ₀ +Q ₀∫₀ ^(t) Ps ^(B) dt+gt

Here Q₀ have been “factored out” from the velocity integral. Thenotation is simplified by defining u(t)=∫₀ ^(t)Ps^(B)dt; which yields:

ν(t)=ν₀ +Q ₀ u(t)+gt

This expression provides a simple way to calculate Q₀, provided that ν₀and ν(t) are known at some point in time. In general ν₀ is unknown, andin fact is unknowable in embodiments of motion capture element 111 thatinclude only an accelerometer and a gyro as sensors. However a point intime may be identified, for example during “address”, e.g., when a golfclub is placed near a golf ball before a swing. At this point in time,it is possible to estimate that ν₀ is very small. If we find a secondsuch point at a different time, t, then it is possible to use ν₀≈ν(t)≈0to solve for Q₀ using

Q ₀ u(t)=−gt

The advantage of this approach is that the assumption for initializationis less strict than a simple “average accelerometer reading” approach.By finding two points in time, for example during “address” where linearvelocity is small, then it is possible to integrate between these pointsto find the initial orientation.

Note that the simple approach is a special case of the moresophisticated method. If in fact motion capture element 111 iscompletely at rest during the initialization interval, then P(t)≡I, andu(t)=∫₀ ^(t)s^(B)dt=t s^(B) . So Q₀u(t)=−gt implies Q₀s^(B)=−g, which isthe simplest method for finding initial orientation as previouslydescribed.

Proximity sensors may be coupled with an embodiment of motion captureelement 111 or identification tag 191 or mount 192 or mobile device 101or any combination thereof, and may be utilized to determine whether apiece of sporting equipment has been accidentally left behind or is thepiece of equipment being utilized, or may be utilized for shot trackingfor certain types of equipment in certain sports. Proximity sensors forexample may be combined on an ASIC with embodiments of motion captureelement 111 to provide increased capabilities. In addition, a BLE radiomay be combined on an ASIC with motion capture element 111 to provide asingle chip solution for motion capture, for example by adding a gyroand accelerometer, e.g., 3 axes each. One or more embodiments of theinvention may communicate with a mobile computer that is local usinglocal communications protocols or may communicate distally using longerrange communications protocols as desired and based on available energy.For example, if user 150 has two or more pieces of equipment 110 and theproximity sensor in mobile device 101 indicates that a first piece ofequipment is closer than a second piece of equipment or simply readsthat the first piece of equipment is within a predetermined range, whilethe second piece of equipment is not, then the first piece of equipmentmay be accepted by mobile device 101 as the piece of equipment beingutilized by user 150. Any other algorithm using proximity sensorscoupled with motion capture element 111 or identification tag 191 ormount 192 or mobile device 101 is in keeping with the spirit of theinvention. In one or more embodiments of the motion capture element, ifthe orientation of the piece of equipment is upside down, then the pieceof equipment is for example in a bag, e.g., a golf bag, and then theproximity detection may take this into account to discount the closestvalue.

Embodiments of the invention may be utilized to provide an alarm clock,or integrate with an alarm clock for example on mobile device 101 forexample by utilizing motion capture data associated with motion captureelement 111 coupled with user 150 or in mobile device 101 coupled withuser 150, wherein the alarm stops when the motion capture elementcoupled with user 150 is moved when user 150 moves. In one or moreembodiments of the invention, this enables user 150 to “gesture” analarm off signal, or a sleep signal. I.e., by waving a hand havingmotion capture element, for example coupled with a watch band, an “offsignal” may be gestured, while rotating a hand axially may be acceptedby the system to indicate a “5 minute sleep” assertion. Any other motionof motion capture element 111 to interact with an alarm clock is inkeeping with the spirit of the invention. For example, user 150 maytwist the foot having motion capture element 111 and/or mount 192 whichsends motion capture data to mobile device 101 that is transmitting anaudible or tactile alarm via an alarm app that is executing on computer160 for example. By receiving a first type or motion (slow shake) or asecond type of motion (fast shake), the command associated with thefirst motion or second motion may be interpreted by the app to turn thealarm off or sleep for a predetermined amount of time respectively.Again, any type of motion for a gesture may be associated with a desiredcommand related to an alarm including “drawing” a number of minutes tosleep with a hand for example. I.e., slowing moving in a “1” shape fromtop to bottom, then quickly moving to the top of a “0” and slowly movingthe hand in a “zero” shape, to indicate 10 minutes more of sleep.

One or more embodiments of the system may utilize a mobile device thatincludes at least one camera 130, for example coupled to the computerwithin the mobile device. This allows for the computer within mobiledevice 101 to command the camera 130 to obtain an image or images, forexample of the user during an athletic movement. The image(s) of theuser may be overlaid with displays and ratings to make the motionanalysis data more understandable to a human for example. Alternatively,detailed data displays without images of the user may also be displayedon display 120 or for example on the display of computer 105. In thismanner two-dimensional images and subsequent display thereof is enabled.If mobile device 101 contains two cameras, as shown in mobile device102, i.e., cameras 130 a and 130 b, then the cameras may be utilized tocreate a three-dimensional data set through image analysis of the visualmarkers for example. This allows for distances and positions of visualmarkers to be ascertained and analyzed. Images and/or video from anycamera in any embodiments of the invention may be stored on database172, for example associated with user 150, for data mining purposes. Inone or more embodiments of the invention image analysis on the imagesand/or video may be performed to determine make/models of equipment,clothes, shoes, etc., that is utilized, for example per age of user 150or time of day of play, or to discover any other pattern in the data.

Alternatively, for embodiments of mobile devices that have only onecamera, multiple mobile devices may be utilized to obtaintwo-dimensional data in the form of images that is triangulated todetermine the positions of visual markers. In one or more embodiments ofthe system, mobile device 101 and mobile device 102 a share image dataof user 150 to create three-dimensional motion analysis data. Bydetermining the positions of mobile devices 101 and 102 (via positiondetermination elements such as GPS chips in the devices as is common, orvia cell tower triangulation and which are not shown for brevity but aregenerally located internally in mobile devices just as computer 160 is),and by obtaining data from motion capture element 111 for examplelocations of pixels in the images where the visual markers are in eachimage, distances and hence speeds are readily obtained as one skilled inthe art will recognize.

Camera 103 may also be utilized either for still images or as is nowcommon, for video. In embodiments of the system that utilize externalcameras, any method of obtaining data from the external camera is inkeeping with the spirit of the system including wireless communicationof the data, or via wired communication as when camera 103 is dockedwith computer 105 for example, which then may transfer the data tomobile device 101.

In one or more embodiments of the system, the mobile device on which themotion analysis data is displayed is not required to have a camera,i.e., mobile device 102 b may display data even though it is notconfigured with a camera. As such, mobile device 102 b may obtain imagesfrom any combination of cameras on mobile device 101, 102, 102 a, camera103 and/or television camera 104 so long as any external camera maycommunicate images to mobile device 102 b. Alternatively, no camera isrequired at all to utilize the system.

For television broadcasts, motion capture element 111 wirelesslytransmits data that is received by antenna 106. The wireless sensor datathus obtained from motion capture element 111 is combined with theimages obtained from television camera 104 to produce displays withaugmented motion analysis data that can be broadcast to televisions,computers such as computer 105, mobile devices 101, 102, 102 a, 102 b orany other device configured to display images. The motion analysis datacan be positioned on display 120 for example by knowing the location ofa camera (for example via GPS information), and by knowing the directionand/or orientation that the camera is pointing so long as the sensordata includes location data (for example GPS information). In otherembodiments, visual markers or image processing may be utilized to lockthe motion analysis data to the image, e.g., the golf club head can betracked in the images and the corresponding high, middle and lowposition of the club can be utilized to determine the orientation ofuser 150 to camera 130 or 104 or 103 for example to correctly plot theaugmented data onto the image of user 150. By time stamping images andtime stamping motion capture data, for example after synchronizing thetimer in the microcontroller with the timer on the mobile device andthen scanning the images for visual markers or sporting equipment atvarious positions, simplified motion capture data may be overlaid ontothe images. Any other method of combining images from a camera andmotion capture data may be utilized in one or more embodiments of theinvention. Any other algorithm for properly positioning the motionanalysis data on display 120 with respect to a user (or any otherdisplay such as on computer 105) may be utilized in keeping with thespirit of the system.

One such display that may be generated and displayed on mobile device101 include a BULLET TIME®view using two or more cameras selected frommobile devices 101, 102, 102 a, camera 103, and/or television camera 104or any other external camera. In this embodiment of the system, thecomputer is configured to obtain two or more images of user 150 and dataassociated with the at least one motion capture element (whether avisual marker or wireless sensor), wherein the two or more images areobtained from two or more cameras and wherein the computer is configuredto generate a display that shows slow motion of user 150 shown fromaround the user at various angles at normal speed. Such an embodimentfor example allows a group of fans to create their own BULLET TIME® shotof a golf pro at a tournament for example. The shots may be sent tocomputer 105 and any image processing required may be performed oncomputer 105 and broadcast to a television audience for example. Inother embodiments of the system, the users of the various mobile devicesshare their own set of images, and or upload their shots to a websitefor later viewing for example. Embodiments of the invention also allowimages or videos from other players having mobile devices to be utilizedon a mobile device related to another user so that users don't have toswitch mobile phones for example. In one embodiment, a video obtained bya first user for a piece of equipment in motion that is not associatedwith the second user having the video camera mobile phone mayautomatically transfer the video to the first user for display withmotion capture data associated with the first user.

FIG. 1A shows an embodiment of computer 160. In computer 160 includesprocessor 161 that executes software modules, commonly also known asapplications, generally stored as computer program instructions withinmain memory 162. Display interface 163 drives display 120 of mobiledevice 101 as shown in FIG. 1. Optional orientation/position module 167may include a North/South or up/down orientation chip or both.Communication interface 164 may include wireless or wired communicationshardware protocol chips and/or an RFID reader or an RFID reader maycouple to computer 160 externally or in any other manner for example. Inone or more embodiments of the system communication interface mayinclude telephonic and/or data communications hardware. In one or moreembodiments communication interface 164 may include a Wi-Fi™ or otherIEEE 802.11 device and/or BLUETOOTH® wireless communications interfaceor ZigBee® wireless device or any other wireless technology. BLUETOOTH®class 1 devices have a range of approximately 100 meters, class 2devices have a range of approximately 10 meters. BLUETOOTH® Low Powerdevices have a range of approximately 50 meters. Any wireless networkprotocol or type may be utilized in embodiments of the system so long asmobile device 101 or any other computer in the system and motion captureelement 111 can communicate with one another. Processor 161, main memory162, display interface 163, communication interface 164 andorientation/position module 167 may communicate with one another overcommunication infrastructure 165, which is commonly known as a “bus”.Communications path 166 may include wired or wireless medium that allowsfor communication with other wired or wireless devices over network 170.Network 170 may communicate with Internet 171 and/or database 172.Database 172 may be utilized to save or retrieve images or videos ofusers, or motion analysis data, or users displayed with motion analysisdata in one form or another. The data uploaded to the Internet, i.e., aremote database or remote server or memory remote to the system may beviewed, analyzed or data mined by any computer that may obtain access tothe data. This allows for original equipment manufacturers to determinefor a given user what sporting equipment is working best and/or whatequipment to suggest. Data mining also enables the planning of golfcourses based on the data and/or metadata associated with users, such asage, or any other demographics that may be entered into the system.Remote storage of data also enables medical applications such asmorphological analysis, range of motion over time, and diabetesprevention and exercise monitoring and compliance applications. Datamining based applications also allow for games that use real motioncapture data from other users, or historical players whether alive ordead after analyzing videos of the historical players for example.Virtual reality and augmented virtual reality applications may alsoutilize the motion capture data or historical motion data. The systemalso enables uploading of performance related events and/or motioncapture data to database 172, which for example may be implemented as asocial networking site. This allows for the user to “tweet” high scores,or other metrics during or after play to notify everyone on the Internetof the new event.

FIG. 1B illustrates an architectural view of an embodiment of database172 utilized in embodiments of the system. As shown tables 180-185include information related to N number of users, M pieces of equipmentper user, P number of sensors per user or equipment, S number of sensordata per sensor, T number of patterns found in the other tables, and Dnumber of data users. All tables shown in FIG. 1B are exemplary and mayinclude more or less information as desired for the particularimplementation. Specifically, table 180 includes information related touser 150 which may include data related to the user such as age, height,weight, sex, address or any other data. Table 181 include informationrelated to M number of pieces of equipment 110, which may include clubs,racquets, bats, shirts, pants, shoes, gloves, helmets, etc., for examplethe manufacturer of the equipment, model of the equipment, and type ofthe equipment. For example, in a golf embodiment, the manufacturer maybe the name of the manufacturer, the model may be a name or model numberand the type may be the club number, i.e., 9 iron, the equipment ID maybe identifier 191 in one or more embodiments of the invention. Table 182may include information related to P number of sensors 111 on user 150or equipment 110 or mobile computer 101. The sensors associated withuser 150 may include clothing, clubs, etc., the sensors associated withequipment 110 may for example be motion capture data sensors, while thesensors associated with mobile computer 101 may include sensors 167 forposition/orientation and sensors 130 for images/video for example. Table183 may include information related to S number of sensor data per userper equipment, wherein the table may include the time and location ofthe sensor data, or any other metadata related to the sensor data suchas temperature, weather, humidity, etc., or the sensor data may includethis information or any combination thereof. The table may also containa myriad of other fields, such as ball type, i.e., in a golf embodimentthe type of golf ball utilized may be saved and later data mined for thebest performing ball types, etc. Table 184 may include informationrelated to T number of patterns that have been found in the data miningprocess for example. This may include fields that have been searched inthe various tables with a particular query and any resulting relatedresults. Any data mining results table type may be utilized in one ormore embodiments of the invention as desired for the particularimplementation. This may include search results of any kind, includingEI measurements, which also may be calculated on computer 160 locally,or any other search value from simple queries to complex patternsearches. Table 185 may include information related to D number of datamining users 151 and may include their access type, i.e., full databaseor pattern table, or limited to a particular manufacturer, etc., thetable may also include payment requirements and/or receipts for the typeof usage that the data mining user has paid for or agreed to pay for andany searches or suggestions related to any queries or patterns found forexample. Any other schema, including object oriented databaserelationships or memory based data structures that allow for data miningof sensor data including motion capture data is in keeping with thespirit of the invention. Although exemplary embodiments for particularactivities are given, one skilled in the art will appreciate that anytype of motion based activity may be captured and analyzed byembodiments of the system using a motion capture element and app thatruns on a user's existing cell phone 101, 102 or other computer 105 forexample.

There are a myriad of applications that benefit and which are enabled byembodiments of the system that provide for viewing and analyzing motioncapture data on the mobile computer or server/database, for example fordata mining database 172 by users 151. For example, users 151 mayinclude compliance monitors, including for example parents, children orelderly, managers, doctors, insurance companies, police, military, orany other entity such as equipment manufacturers that may data mine forproduct improvement. For example in a tennis embodiment by searching fortop service speeds for users of a particular size or age, or in a golfembodiment by searching for distances, i.e., differences in sequentiallocations in table 183 based on swing speed in the sensor data field intable 183 to determine which manufacturers have the best clubs, or bestclubs per age or height or weight per user, or a myriad of otherpatterns. Other embodiments related to compliance enable messages frommobile computer 101 or from server/database to be generated ifthresholds for G-forces, (high or zero or any other levels), to be sentto compliance monitors, managers, doctors, insurance companies, etc., aspreviously described. Users 151 may include marketing personnel thatdetermine which pieces of equipment certain users own and which relateditems that other similar users may own, in order to target sales atparticular users. Users 151 may include medical personnel that maydetermine how much movement a sensor for example coupled with a shoe,i.e., a type of equipment, of a diabetic child has moved and how muchthis movement relates to the average non-diabetic child, whereinsuggestions as per table 185 may include giving incentives to thediabetic child to exercise more, etc., to bring the child in line withhealthy children. Sports physicians, physiologists or physicaltherapists may utilize the data per user, or search over a large numberof users and compare a particular movement of a user or range of motionfor example to other users to determine what areas a given user canimprove on through stretching or exercise and which range of motionareas change over time per user or per population and for example whattype of equipment a user may utilize to account for changes over time,even before those changes take place. Data mining motion capture dataand image data related to motion provides unique advantages to users151. Data mining may be performed on flex parameters measured by thesensors to determine if sporting equipment, shoes, human body parts orany other item changes in flexibility over time or between equipmentmanufacturers or any combination thereof.

To ensure that analysis of user 150 during a motion capture includesimages that are relatively associated with the horizon, i.e., nottilted, the system may include an orientation module that executes oncomputer 160 within mobile device 101 for example. The computer isconfigured to prompt a user to align the camera along a horizontal planebased on orientation data obtained from orientation hardware withinmobile device 101. Orientation hardware is common on mobile devices asone skilled in the art will appreciate. This allows the image socaptured to remain relatively level with respect to the horizontalplane. The orientation module may also prompt the user to move thecamera toward or away from the user, or zoom in or out to the user toplace the user within a graphical “fit box”, to somewhat normalize thesize of the user to be captured. Images may also be utilized by users toprove that they have complied with doctors orders for example to meetcertain motion requirements.

Embodiments of the system are further configured to recognize the atleast one motion capture element associated with user 150 or piece ofequipment 110 and associate at least one motion capture element 111 withassigned locations on user 150 or piece of equipment 110. For example,the user can shake a particular motion capture element when prompted bythe computer within mobile device 101 to acknowledge which motioncapture element the computer is requesting an identity for.Alternatively, motion sensor data may be analyzed for position and/orspeed and/or acceleration when performing a known activity andautomatically classified as to the location of mounting of the motioncapture element automatically, or by prompting the user to acknowledgethe assumed positions.

One or more embodiments of the computer in mobile device 101 isconfigured to obtain at least one image of user 150 and display athree-dimensional overlay onto the at least one image of user 150wherein the three-dimensional overlay is associated with the motionanalysis data. Various displays may be displayed on display 120. Thedisplay of motion analysis data may include a rating associated with themotion analysis data, and/or a display of a calculated ball flight pathassociated with the motion analysis data and/or a display of a time lineshowing points in time along a time axis where peak values associatedwith the motion analysis data occur and/or a suggest training regimen toaid the user in improving mechanics of the user. These filtered oranalyzed data sensor results may be stored in database 172, for examplein table 183, or the raw data may be analyzed on the database (or serverassociated with the database or in any other computer or combinationthereof in the system shown in FIG. 1 for example), and then displayedon mobile computer 101 or on website 173, or via a television broadcastfrom camera 104 for example. Data mining results may be combined in anymanner with the unique displays of the system and shown in any desiredmanner as well.

Embodiments of the system may also present an interface to enable user150 to purchase piece of equipment 110 over the wireless interface ofmobile device 101, for example via the Internet, or via computer 105which may be implemented as a server of a vendor. In addition, forcustom fitting equipment, such as putter shaft lengths, or any othercustom sizing of any type of equipment, embodiments of the system maypresent an interface to enable user 150 to order a customer fitted pieceof equipment over the wireless interface of mobile device 101.Embodiments of the invention also enable mobile device 101 to suggestbetter performing equipment to user 150 or to allow user 150 to searchfor better performing equipment as determined by data mining of database172 for distances of golf shots per club for users with swing velocitieswithin a predefined range of user 150. This allows for real lifeperformance data to be mined and utilized for example by users 151, suchas OEMs to suggest equipment to user 150, and be charged for doing so,for example by paying for access to data mining results as displayed inany computer shown in FIG. 1 or via website 173 for example. In one ormore embodiments of the invention database 172 keeps track of OEM datamining and is configured to bill users 151 for the amount of access eachof users 151 has purchased and/or used for example over a giving billingperiod. See FIG. 1B for example.

Embodiments of the system are configured to analyze the data obtainedfrom at least one motion capture element and determine how centered acollision between a ball and the piece of equipment is based onoscillations of the at least one motion capture element coupled with thepiece of equipment and display an impact location based on the motionanalysis data. This performance data may also be stored in database 172and used by OEMs or coaches for example to suggest clubs with higherprobability of a centered hit as data mined over a large number ofcollisions for example.

While FIG. 1A depicts a physical device, the scope of the systems andmethods set forth herein may also encompass a virtual device, virtualmachine or simulator embodied in one or more computer programs executingon a computer or computer system and acting or providing a computersystem environment compatible with the methods and processesimplementing the disclosed ideas. Where a virtual machine, process,device or otherwise performs substantially similarly to that of aphysical computer system of the system, such a virtual platform willalso fall within the scope of a system of the disclosure,notwithstanding the description herein of a physical system such as thatin FIG. 1A.

FIG. 1C illustrates a flow chart for an embodiment of the processingperformed and enabled by embodiments of the computers utilized in thesystem. In one or more embodiments of the system, optionally a pluralityof motion capture elements are calibrated (see FIG. 11B for an exampleof a multiple motion capture element mounting device that may be movedin a specific manner to calibrate multiple sensors at once for massproduction). In some embodiments this means calibrating multiple sensorson a user or piece of equipment to ensure that the sensors are alignedand/or set up with the same speed or acceleration values for a giveninput motion. In other embodiments of the invention, this means placingmultiple motion capture sensors on a calibration object that moves andcalibrates the orientation, position, speed, acceleration, or anycombination thereof at the same time. The next optional step involvesproviding motion capture elements and an app for example that allows auser with an existing mobile phone or computer to utilize embodiments ofthe system to obtain motion capture data, and potentially analyze and/orsend messages based thereon. In one or more embodiments, users maysimply purchase a motion capture element and an app and beginimmediately using the system. One or more embodiments of the system alsoallow optionally for providing motion capture mounts for the particulardesired mounting location on a user or equipment. The system capturesmotion data with motion capture element(s) and sends the motion capturedata to a mobile computer 101, 102 or 105 for example, which may includean IPOD®, ITOUCH®, IPAD®, IPHONE®, ANDROID® Phone or any other type ofcomputer that a user may utilize to locally collect data. One or moremounts may be utilized, include for an embodiment of the mobilecomputer, for example a small format IPOD® as per FIG. 41A. Thisminimizes the complexity of the sensor and offloads processing toextremely capable computing elements found in existing mobile phones andother electronic devices for example. The transmitting of data from themotion capture elements to the user's computer may happen when possible,periodically, on an event basis, when polled, or in any other manner aswill be described in various sections herein. This saves great amount ofpower compared to known systems that continuously send raw data in twoways, first data may be sent in event packets, within a time windowaround a particular motion event which greatly reduces the data to ameaningful small subset of total raw data, and secondly the data may besent less than continuously, or at defined times, or when asked for dataso as to limit the total number of transmissions. The main intelligencein the system is generally in the mobile computer or server where moreprocessing power may be utilized and so as to take advantage of thecommunications capabilities that are ubiquitous in existing mobilecomputers for example. In one or more embodiments of the system, themobile computer may optionally obtain an identifier from the user orequipment, such as a passive RFID or active RFID or other identifier,which may be utilized by the mobile computer to determine what weight asuser is lifting, or what shoes a user is running with, or what weapon auser is using, or what type of activity a user is using based on theidentifier of the equipment. The mobile computer may analyze the motioncapture data locally and display, i.e., show or send information such asa message for example when a threshold is observed in the data, forexample when too many G-forces have been registered by a soldier or racecar driver, or when not enough motion is occurring (either at the timeor based on the patterns of data in the database as discussed belowbased on the user's typical motion patterns or other user's motionpatterns for example.) In other embodiments, once a user has performed acertain amount of motion, a message may be sent to compliancemonitor(s), including for example parents, children or elderly,managers, doctors, insurance companies, police, military, or any otherentity such as equipment manufacturers. The message may be an SMSmessage, or email, or tweet or any other type of electroniccommunication. If the particular embodiment is configured for remoteanalysis or only remote analysis, then the motion capture data may besent to the server/database. If the implementation does not utilize aremote database, the analysis on the mobile computer is local. If theimplementation includes a remote database, then the analysis may beperformed on the mobile computer or server/database or both. Once thedatabase obtains the motion capture data, then the data may be analyzedand a message may be sent from the server/database to compliancepersonnel or business entities as desired. Embodiments of the inventionmake use of the data from the mobile computer and/or server for gaming,morphological comparing, compliance, tracking calories burned, workperformed, monitoring of children or elderly based on motion or previousmotion patterns that vary during the day and night, safety monitoringfor troops when G-forces exceed a threshold or motion stops, local useof running, jumping throwing motion capture data for example on a cellphone including virtual reality applications that make use of the user'scurrent and/or previous data or data from other users, or play music orselect a play list based on the type of motion a user is performing ordata mining. For example if motion is similar to a known player in thedatabase, then that user's playlist may be sent to the user's mobilecomputer 101. The processing may be performed locally so if the motionis fast, fast music is played and if the motion is slow, then slow musicmay be played. Any other algorithm for playing music based on the motionof the user is in keeping with the spirit of the invention. Any use ofmotion capture data obtained from a motion capture element and app on anexisting user's mobile computer is in keeping with the spirit of theinvention, including using the motion data in virtual realityenvironments to show relative motion of an avatar of another playerusing actual motion data from the user in a previous performance or fromanother user including a historical player for example. Display ofinformation is generally performed via three scenarios, wherein displayinformation is based on the user's motion analysis data or related tothe user's piece of equipment and previous data, wherein previous datamay be from the same user/equipment or one or more otherusers/equipment. Under this scenario, a comparison of the current motionanalysis data with previous data associated with this user/equipmentallows for patterns to be analyzed with an extremely cost effectivesystem having a motion capture sensor and app. Under another scenario,the display of information is a function of the current user'sperformance, so that the previous data selected from the user or anotheruser/equipment is based on the current user's performance. This enableshighly realistic game play, for example a virtual tennis game against ahistorical player wherein the swings of a user are effectively respondedto by the capture motion from a historical player. This type ofrealistic game play with actual data both current and previously storeddata, for example a user playing against an average pattern of a top 10player in tennis, i.e., the speed of serves, the speed and angle ofreturn shots, for a given input shot of a user makes for game play thatis as realistic as is possible. Television images may be for exampleanalyzed to determine swing speeds and types of shots taken byhistorical players that may no longer be alive to test one's skillsagainst a master, as if the master was still alive and currently playingthe user. Compliance and monitoring by the user or a different user maybe performed in a third scenario without comparison to the user'sprevious or other user's previous data wherein the different user doesnot have access to or own for example the mobile computer. In otherwords, the mobile phone is associated with the user being monitored andthe different user is obtaining information related to the currentperformance of a user for example wearing a motion capture element, suchas a baby, or a diabetes patient.

FIG. 1D illustrates a data flow diagram for an embodiment of the system.As shown motion capture data is sent from a variety of motion captureelements 111 on many different types of equipment or associated withuser 150. The equipment or user may optionally have an identifier 191that enables the system to associate a value with the motion, i.e., theweight being lifted, the type of racquet being used, the type ofelectronic device being used, i.e., a game controller or other objectsuch as baby pajamas associated with baby 152. In one or moreembodiments, elements 191 in the figure may be replaced or augmentedwith motion capture elements 111 as one skilled in the art willappreciate. In one or more embodiments of the system, mobile computer101 receives the motion capture data, for example in event form and forexample on an event basis or when requested by mobile computer 101,e.g., after motion capture elements 111 declares that there is data andturns on a receiver for a fix amount of time to field requests so as tonot waste power, and if no requests are received, then turn the receiveroff for a period of time. Once the data is in mobile computer 101, thenthe data is analyzed, for example to take raw or event based motioncapture data and for example determine items such as average speed,etc., that are more humanly understandable in a concise manner. The datamay be stored, shown to the right of mobile computer 101 and then thedata may be displayed to user 150, or 151, for example in the form of amonitor or compliance text or email or on a display associated withmobile computer 101 or computer 105. This enables users not associatedwith the motion capture element and optionally not even the mobilecomputer potentially to obtain monitor messages, for example saying thatthe baby is breathing slowly. Under other scenarios, the breathing rate,i.e., the motion of the motion capture element on the baby's pajamas maybe compared to previous data related to the baby to determine if thebaby is breathing faster than normal, or compared to other baby'sprevious data to determine if the baby is breathing faster than theaverage baby. These sophisticated comparisons enable determination ofwhen a baby is becoming ill before known solutions. In gaming scenarios,where the data obtained currently, for example from user 150 orequipment 110, the display of data, for example on virtual realityglasses may make use of the previous data from that user/equipment oranother user/equipment to respond to the user's current motion data,i.e., as a function of the user's input. The previous data may be storedanywhere in the system, e.g., in the mobile computer 101, computer 105or on the server or database 172 (see FIG. 1).

FIG. 2 illustrates an embodiment of the overall modes of the softwareprogrammed to execute on the computer of the mobile device, wherein thecomputer is configured to optionally recognize the motion captureelements, obtain data, analyze the data and display motion analysisdata. Mode 201 shows mobile device 101 having display 120 that displaysa user with highlighted points on the user and/or piece of equipment. Inthis mode, each sensor is identified and assigned one by one to aparticular area of the user or piece of equipment so as to recognizewhich sensors correspond to which movements of the user and/or piece ofequipment. Mode 202 is the mode where the computer in mobile deviceobtains data associated with at least one motion capture element asrecognized in mode 201. Mode 203 is the mode where the data is analyzedto form motion analysis data and display the motion analysis dataoptionally in conjunction with at least one image of the user. Mode 204is the mode where the motion analysis data and optional at least oneimage of the user is saved, or retrieved to display at a later time. Theimages may be automatically captured from a second user's mobile deviceand transferred to the user's mobile device who swung the golf club sothat they user's don't have to switch phones while playing to obtainimage data for themselves. One algorithm embodiment detects a motioncapture element data for a club that is not associated with the user ofthe video camera based mobile phone and queries nearby mobile devices todetermine if they will accept the video. The mobile device of the userwho performed the swing may automatically transfer the video so thatafter the user has swung, the user can look at their own phone and seetheir image overlaid with motion capture data without having usersswitch phones to capture video for each other. The motion capture datamay be automatically stored in database 172 which for example may be inthe form of a social network, in which case the transfer of data (forexample a new maximum power score), may be automatically “tweeted” toInternet 171 and/or database 172 to notify everyone connected to theInternet of the new event. The upload of sensor data including anyimages/video and/or motion capture data may occur whenever a telephonicor other wireless link is available to database 172 for example. I.e.,the motion capture sensors may store data until they have a wirelesslink to mobile computer 101, and mobile computer 101 may also bufferdata including any analyzed motion capture data until a link to database172 is available. Alternatively, the data transfers may occur at definedtimes, upon events such as a shot occurrence or distance moved by themobile computer and hence the user, or polled by the database or in anyother manner. Once the data is in database 172 it may be data mined aspreviously discussed.

FIG. 3 illustrates displays associated with FIG. 2 in greater detail.Mode 201 includes sub-modes 201 a where each motion capture element isasserted, moved, switched on or other wise identified. Data and/ormetadata associated with the user such as age, height, weight, equipmentmanufacturer or model number and size may also be input in this screen.Alternatively, website 173 may be utilized to input this data or anyother user related data for example. This allows for data mining thedata and/or metadata and associated motion capture data later. Owners ofdatabase 172 may charge a fee for this service. Sub-mode 201 b allowsfor assignment of the motion capture element so asserted to a particularbody part of the user, or a location on the piece of equipment. Mode 202includes sub-modes 202 a where the computer obtains data associated withat least one motion capture element, either via image capture of one ormore motion capture elements implemented as visual markers, or viawireless sensors, or both visual markers and wireless sensors. Mode 203includes sub-mode 203 a where main motion analysis data items may bedisplayed, and sub-mode 203 b where detailed motion analysis data itemsmay be displayed. Mode 204 shows selection of an archive name to storearchive motion capture data, i.e., the motion analysis data and anyimages of the user. Mode 204 also allows for retrieval of an archivedmotion capture data by selected a list item on the display of the mobiledevice. In one or more embodiments, the motion capture archived data maybe stored on the mobile device or remotely on computer 105, or indatabase 172 accessed via network 170 and/or via Internet 171.

FIG. 4 illustrates and embodiment of the recognition module that isconfigured to assign particular sensors to particular locations on anathlete and/or on a piece of equipment. In this simplified interface formode 201, a mobile application is selected from the interface in the farleft screen shot that then displays a number of activities or sportsthat can be motion captured by embodiments of the system. Selecting thedesired sport via a finger gesture or any other manner in this displayshows sub-mode screen 201 c that allows for the assignment of sensors toareas of the user's body, and/or sub-mode screen 201 d that allows forthe assignment of sensors to areas on the equipment for the particularsport selected in the second screen from the left in the figure.Automatic determination of the assigned sensor locations is alsopossible based on analyzing the spatial data obtain from a golf swing.For example by determining the positions, or speed of the varioussensors, an automatic assignment may be made, for example by taking thefastest moving component and assigning that to the golf club head, whiletaking the next fastest component and assigning that component to thehands, etc. Any other technique for automatically assigning sensors tolocations of embodiments of the invention is in keeping with the spiritof the invention. In embodiments of the invention that utilize RFID orother identifier mechanism coupled with the golf club, such as a uniqueidentifier per motion capture element for example, the user may enter agolf club number associated with a particular golf club so that thesystem knows which club is in proximity to the mobile computer or whichgolf club number for example has been moved through a golf swing. Forbaseball, the thick end of the bat generally moves faster and travelsfarther than the handle, and the system can automatically determinewhich sensor is which by analyzing the speed for example or totaldistance traveled when the bat is moved in a substantially horizontalplane. This automatic assignment makes the system easy to use andapplies to all types of equipment as one skilled in the art willappreciate.

FIG. 5 illustrates an embodiment of the obtain data module that isconfigured to obtain data from a camera (optionally on the mobile deviceor obtain through another camera or camera on another mobile device)through asserting the “start” button on the display. Any other method ofinitiating the computer within the mobile device to obtain data is inkeeping with the spirit of the system including user gestures such asmoving the piece of equipment in a particular manner or in any otherway. This is shown as sub-mode 202 a. When motion data capture is to beterminated, any user gesture may be performed via the display of themobile device, via the piece of equipment or via audio input to themobile device for example. Any other method of informing the computer tono longer obtain data is in keeping with the spirit of the system.Sub-mode 203 a where main motion analysis data items may be displayed,and sub-mode 203 b where detailed motion analysis data items may bedisplayed are shown with “close” buttons, so that the data can beignored for example. In addition, a slider in sub-mode 203 a allows forprecise control of the speed and/or location of the playback so thatslow motion analysis may be utilized to better understand the analysisand display of motion analysis data. In addition, the figure showsdisplays data analyzed by the analysis module and generated by thedisplay module to show either the user along with motion analysis data,or with motion analysis data alone. Double clicking or tapping on adetailed item may optionally display a list of exercises that a user mayperform to increase the user's performance.

FIG. 6 illustrates a detailed drill down into the motion analysis datato display including overall efficiency, head, torso, hip, hand, club,left and right foot segment efficiencies. Embodiments of the system thusenable physical training specific to the area that a user needs asdetermined by the analysis module. For example, asserting, doubleclicking or tapping, or clicking on the “training” button on the bottomof each efficiency screen as shown may display video, audio, or a listof exercises that a user may perform to increase the user's performancespecific to that segment. In addition, by asserting the “fitting” buttonon each segment display, a detailed list of pieces of equipment that mayperform better for the user based on the motion analysis data may beviewed. For example, if the user is swing too stiff of a golf club, thenthe golf club may be taking power out of the swing by slowing downbefore impacting a golf ball, while a more flexible shaft would speed upbefore impacting a golf ball. By asserting the “fitting” button, andbased on the motion analysis data, for example club head speed or ifmultiple sensors are fitted on the shaft, then by the flexing of theshaft, then alternate golf clubs may be displayed to the user. The usermay then press the purchase button, as will be detailed later, topurchase or custom order equipment that is better suited to the user.The displays shown in FIG. 6 or any of the other figures that displaydata associated with the user may also include data mining results orcomparisons or suggestions or fields for searching and performing datamining. For example, the power factor achieved for a given swing may becompared against average users or professional users and suggest otherequipment that may improve performance as per data mining patternsdiscovered in database 172 and stored for example in table 184.

FIG. 7 illustrates a close up display of motion analysis data associatedwith a user, without use of an image associated with a user. In thisclose-up of sub-mode 203 b, the efficiency, swing speed, release speed,face alignment angle and other quantities associated with the motionanalysis data are displayed. Any data that is obtained or that can beanalyzed and derived may be displayed. This includes any data previouslysaved in database 172 or data mined from database 172 for example.

FIG. 8 illustrates an embodiment of the motion capture element thatoptionally includes a visual marker and/or sensor. One or moreembodiments of the sensors are small, for example 12 mm or less indiameter and 4 mm or less thick in one embodiment. In addition, thesensors are inexpensive, lightweight, for example less than 5 grams inone or more embodiments. The sensors may utilize known wirelesscommunications protocols such as BLUETOOTH® with a range ofapproximately 10 meters for Bluetooth class 2, or 100 meters forBluetooth class 1. Embodiments of the sensor may sample at 1200 timesper second or higher or lower depending on the desired performancerequirements. The sensors may be sealed for water resistance or proofingand while some embodiments may be opened, for example to replace abattery held inside the sensor housing. Any other sensor havingdimensions or capabilities that allow for measurement of any combinationof one or more of orientation, position, velocity and/or accelerationthat may couple to a piece of equipment or user may be utilized in oneor more embodiments as a motion capture element.

FIG. 9 illustrates a front view of FIG. 8. In this figure, the visualmarker is shown from above and signifies an instrumented user. Thecontrast between black and white allows for ease of capture.

FIG. 10 illustrates an embodiment of motion capture element 111implemented with a single white circle on a black passive marker andgray scale images thereof to show how the marker can be tracked byobtaining an image and searching for a luminance change from black towhite as shown at point 1001. Any other image processing algorithm maybe utilized to find an embodiment of the motion capture element withinan image as one skilled in the art will recognize, for example based ona color difference or gradient detected in an image in the area of anembodiment of motion capture element 111.

FIG. 11 illustrates a hardware implementation of the sensor portion of amotion capture element implemented as a wireless inertial measurementunit, and an embodiment as configured to couple with a weight port of agolf club for example. Printed circuit board (PCB) may be utilized tohold the various components of the sensor including any orientation,position, velocity and/or accelerometers. Hole 1101 may be utilized as ascrew hole or other coupling point for coupling motion capture element111 to a piece of equipment, such as into a weight port of a golf club.Alternatively, threads at location 1102 or at location 1103 may beutilized to screw motion capture element 111 onto the piece ofequipment. Any other method of coupling motion capture element to apiece of equipment or user is in keeping with the spirit of theinvention. Embodiments of the invention may also be placed near the headof a golf club, in the handle of a golf club, or in any other piece ofequipment. When placing an embodiment of the invention near the golfclub head or handle, an adapter may be utilized so as to fit theapparatus to the specific make and/or model of the golf club. Eachmanufacturer has multiple types of weight port sizes, locations andshapes and any adapter that can for example screw into a weight porthole and also fit threads at location 1102 may be utilized as anadapter. For handles, any tube size for a given make or model of a clubmay be utilized as an adapter so long as it allows the components ofembodiments of the invention to fit inside the golf club and withstandthe forces involved with a golf club swing. See also FIGS. 38-42. In awired embodiment of the golf club, apparatus 111 for example as mountednear a golf club head may electrically couple to another apparatus 3800as shown in FIG. 38 so as to allow wired recharging of both apparatus inone golf club simultaneously.

FIG. 11A illustrates and embodiment of a multiple battery arrangementwherein a plurality of batteries may be coupled in parallel and still bearranged physically on top of one another. Batteries 1125 (of which twoare shown from side view on top of one another) as shown in the lowerportion of the figure are coupled in parallel using battery coupler1119. Battery coupler 1119 includes a pass-thru connector 1122 on eachside of an insulating circular element that is coupled with an insulatedconductor 1121 to another insulating circular element having a singlesided connector 1120. Optional opposing polarity pad 1122 a may also belocated on the first circular element to allow for rotating cap 1126 tomake contact with elements 1122 and 1122 a when rotated into the onposition thereby making contact with both elements. As shown in thelower part of the figure, two battery couplers 1119 are wrapped aroundrespective batteries wherein the pass-thru connectors are on opposingsides of the pair of batteries, while the single sided connectors 1120are situated pointing away from one another to insulate the respectivepoles from one another in the inner portion of the battery pair. Wire1124 may be utilized to provide a contact to element 1122 a if desired,in which case the bottom pass thru contact of shown in the bottom of thefigure may be implemented as one sided, i.e., if both positive andnegative are to brought to the top of the stack at 1122 and 1122 arespectively. This enables standard coin batteries to be utilized inparallel to double, or multiply the capacity by N if more batterycouplers 1119 are utilized, so that N batteries in parallel for example.

FIG. 11B illustrates and embodiment of a multiple motion capture elementcalibration element for calibrating multiple motion capture elements atonce. By placing multiple motion capture elements on the calibrationelement 1150 and moving or orienting the elements for example on ahexapod in a known manner, then all of the motion capture elements maybe calibrated at once. In this manner, the electrical functional as wellas the calibration of the various sensors may be performed rapidly. Ahexapod is but one embodiment of a test bed that may be utilized tocalibrate motion related parameters on multiple motion capture elementsat once. Any other method of positioning, moving, accelerating orotherwise orienting more than one motion capture element at once is inkeeping with the spirit of the invention.

FIG. 12 illustrates an embodiment of the motion capture element asconfigured to couple with different golf club types and a shoe. As shownin the leftmost figure, motion capture element 111 can couple directlyto a piece of equipment such as a golf club in the rear portion of theclub head. As the second from left figure illustrates, motion captureelement 111 may couple onto the bottom of a piece of equipment, such asa golf putter. In addition, as the third figure from the leftillustrates, motion capture element 111 may couple into the weight portof a piece of equipment, such as a driver. Furthermore, motion captureelement may couple with a piece of equipment that is worn by the user,effectively coupling with the user as shown in the rightmost figure.

FIG. 13 illustrates a close-up of the shoe of FIG. 12 along with apressure map of a shoe configured with a pressure matt inside the shoeconfigured to output pressure per particular areas of the shoe. In thisembodiment, motion capture element may also interface to a pressuresensing mat capable of producing pressure map 1301 from inside of theshoe and relay the pressure information to the mobile device foranalysis. Alternatively, pressure sensors may be placed through theshoe, for example in a grid, to provide weight bearing information tothe mobile device, for example wirelessly via the motion captureelement. Each pressure sensor may couple to a transceiver or contain itsown transceiver, or couple via wires or wirelessly to the motion captureelement in order to transmit pressure data, for example to display ondisplay 120. By color coding the map and displaying the map on display120, a color graphic rating is thus obtained, which may includenumerical ratings of the pressure signature when compared to savedpressure maps which resulted in good swings for example.

FIG. 14 illustrates an embodiment of sunglasses configured with a motioncapture element. In addition, the sunglasses may also include a videoviewing device that may be utilized for display 120 so that the user maywatch images of the user with motion analysis data via the sunglasses.In this manner, any computer 160, 105, or any other computer coupled tonetwork 170 or Internet 171 may be utilized to obtain data and analyzedata so that the resulting motion analysis data may be displayed on thesunglasses, for example for virtual reality and/or augmented virtualreality display. Viewing past performance data in the form of avatarsthat move according to motion capture data held in database 172 forexample enables a user to view relative performance, i.e., a user wouldsee a faster user's avatar running in front of the current user forexample, or to play a game, i.e., tennis for example with an avatar ofanother user or the given user moving according to motion capture datain database 172. Playing games using actual stored motion capture dataprovides the most realistic virtual reality possible.

FIG. 15 illustrates an embodiment of a display that depicts the locationof a golf ball strike as determined by the oscillations in the golf clubface during and/or after the golf club impacts a golf ball. In one ormore embodiments of the invention, if the golf ball impacts the club atlocation 1501, then a particular frequency response is obtained viaorientation or velocity sensors in motion capture element 111 that iscoupled with the club shown. If the golf ball impacts the club atlocation 1502, then a distinct frequency response is obtained via themotion capture element 111 coupled to the club. One embodiment fordetermining where a ball impacts a club involves recording impacts froma variety of locations at a range of speeds and using the resultingfrequency responses to determine which one is the closest to the impactdetected. Impacts that occur high or low on the club face tend toproduce a vertical axis oscillation of greater amplitude than impactsthat occur at location 1501. Impacts that occur closer to the shaft tendto produce lower amplitude oscillations in the horizontal axis thanimpacts that occur further from the shaft. Hence, another method fordetermining impact is to form a ratio of the amplitude of horizontal tovertical axis frequency amplitude and then search for the closest matchfrom a saved set of impact frequency responses and retrieve the x and ylocations on the club face where the closest match has occurred. Inanother embodiment of the system, a series of impacts is recording atthe center of the club and at 4 points away from the center along thepositive x axis, (away from the shaft), positive z axis (above thecenter point of the face), negative x axis (near the shaft) and negativez axis (below the center point of the face) wherein the motion captureelement transmits x, y and z velocities associated with the impact. Thevelocities are converted into the frequency domain and saved. Then, whendetermining an impact location for a test swing, an interpolationbetween the impact in question and the center point and 4 other pointsis performed to determine the location of the impact. Any other methodof determining the impact location that does not require other sensorsbesides the motion capture element coupled to the club is in keepingwith the spirit of the invention.

FIG. 16 illustrates a camera alignment tool as utilized with embodimentsof the system to create normalized images for capture data mining. Inthis figure, level lines 1601 are shown that for example become brighterwhen the mobile device is level. Any other manner of displaying that themobile device is level may also be utilized. Icons on the left side ofthe screen show that the motion capture data and images may be saved,emailed, or sent to popular social networking sites such as FACEBOOK®and TWITTER®. FIG. 17 illustrates a balance box and center alignmentline to aid in centering a user to obtain image data. FIG. 18illustrates a balance box and center alignment line, along with primaryand secondary shaft lines to aid in centering and analyzing images ofthe user for use in capturing data from the side of the user. Once theuser is centered, the computer may obtain data and images that arenormalized to the horizontal plane.

FIG. 19 illustrates an embodiment of the display configured to aid inclub fitting for a user, wherein a user may test multiple clubs andwherein the display shows motion analysis data. For embodiments of thesystem that include purchase and order fulfillment options, buttons suchas “purchase” and “customer order” may be utilized. Alternatively, a“buy” button 1902 may be shown in “club fitting” mode 1901 that enablesa user to buy or custom order a custom club that the user is workingwith. In one or more embodiments of the invention the equipmentidentifier may be sent over Internet 171 to an Internet based dropshipper (or via website 173 for a salesperson to receive and communicatewith the user, or in any other manner as one skilled in the art willappreciate including but not limited to text messaging, emails or phonecalls to a sales person directly from the mobile computer withtelephonic interface) along with user information for example on mobilecomputer 101 or in table 180 of FIG. 1B to ship the equipment to theaddress associated with the user. Table 180 may also include credit cardinformation or other payment information for example.

FIG. 20 illustrates an embodiment of the display configured to displaymotion analysis data along with the user, some of which is overlaid ontothe user to aid in understanding the motion analysis data in a morehuman understandable format. For example, rotation rings 2003 may beshown overlaid on one or more images of the user to shown the angle ofthe axis of rotation of portions of the user's body, such as shouldersand hips. In addition, motion analysis data associated with the user canbe shown numerically as shown for example as “efficiency” of the swing2002, and velocity of the swing 2001. The motion capture data and imagesmay be saved to database 172 and later utilized to play a game againstanother player for example on a virtual reality golf course. The playermay be a historical player whose performance data has been analyzed andstored in the database for later game playing for, example.

FIG. 21 illustrates an embodiment of the system configured to display auser from multiple angles 2101 when multiple cameras are available. Anyalgorithm that may process images to eliminate backgrounds for examplemay be utilized to show multiple instances of the user on onebackground. Alternatively, one or more embodiments of the system mayshow one image of the user at a time in slow motion as the user moves,while changing the angle of the view of the user in normal time, whichis known as BULLET TIME®.

FIG. 22 illustrates another embodiment of the multi-angle display as isalso shown in FIG. 21. This figure also includes three-dimensionaloverlay graphics 2201 to aid in understanding the motion analysis datain a more human understandable manner. Second instance of the user 2202may or may not be shown with the same overlay from a different angle.

FIG. 23 shows an embodiment of the system configured to display motionanalysis data on a mobile computer, personal computer, IPAD® or anyother computer with a display device large enough to display the desireddata.

In any embodiments detailed herein, efficiency may be calculated in avariety of ways and displayed. For embodiments of the invention thatutilize one motion capture element, then the motion capture elementassociated with the club head may be utilized to calculate theefficiency. In one or more embodiments of the invention, efficiency maybe calculated as:

Efficiency=(90−angle of club face with respect to direction oftravel)*Vc/Vmax

As more sensors are added further from the piece of equipment, such asin this case a club, the more refined the efficiency calculation may be.FIG. 24 illustrates a timeline display of motion analysis data thatshows multiple sensor angular speeds obtained from multiple sensors on auser and on a piece of equipment. FIG. 25 illustrates a timeline displayof angular speed of a second user. One or more embodiments of the systemmay calculate an efficiency based on relative times of the peaks of thehips, shoulders, arms and club for example. In one or more embodimentsof the invention utilizing more than one motion capture element, forexample on the handle and club head, the angular velocity Wa of thehandle is divided by the angular velocity We of the club head tocalculate efficiency with more information. By obtaining a large numberof timelines from various professional athletes and determining averageamplitudes of angular velocities of various body parts and/or timings,then more refined versions of the efficiency equation may be created andutilized.

Efficiency=(90−angle of club face with respect to direction oftravel)*Vc/Vmax*Wa/We*1.2

FIG. 26 illustrates a timeline display of a user along with peak andminimum angular speeds along the timeline shown as events along the timeline instead of as Y-axis data as shown in FIGS. 24 and 25. In thisunique view, the points in time where the peaks of the graphs of FIGS.24 and 25 are shown as colored boxes that correspond to the colors ofthe graphs in FIGS. 24 and 25, yet in a more human understandable formatthat shows the relative timing of the peaks. In addition, at the bottomof FIG. 26 a graph showing the lead and lag of the golf club along withthe droop and drift of the golf club is shown wherein these valuesdetermine how much the golf club shaft is bending in two axes as plottedagainst time.

One or more embodiments of the system may analyze the peaks and/ortiming of the peaks in order to determine a list of exercises to provideto a user to improve the mechanics of the user. For example, if the armsare rotating too late or with not enough speed, a list can be providedto the user such as:

TABLE 1 Arm Speed Exercise 1000-1500 degrees/sec Impact Bag Drawbacks1501-1750 degrees/sec Drawbacks 1751-2000 degrees/sec No drills

The list of exercises may include any exercises for any body part andmay displayed on display 120. For example, by asserting the “Training”button on the displays shown in FIG. 6, a corresponding body part listof exercises may be displayed on display 120.

FIG. 27 illustrates a display of the calculated flight path 2701 of aball based on the motion analysis data wherein the display is associatedwith any type of computer, personal computer, IPAD® or any other type ofdisplay capable of displaying images. FIG. 28 illustrates a display ofthe calculated flight path 2801 of a ball based on motion analysis datawherein the display is coupled with a mobile device. After a swing of agolf club, and based on the club head speed as determined by motioncapture element 111, the loft of the club and the angle at which theclub strikes the ball (meaning that there is another motion captureelement in the handle or near the hands of the user), a flight path maybe calculated and displayed. Any model may be utilized as is known inthe art to calculate the trajectory based on the club velocity asmeasure via motion capture element 111, one such model is described in apaper by MacDonald and Hanzely, “The physics of the drive in golf”, Am.J. Phys 59 (3) 213-218 (1991). In addition, the actual distancescalculated and store in the database, for example as differences betweenlocations of shots for example in table 183 in database 172 may be usedto verify or refine the model and may take into account the type ofequipment, club and ball for example utilized to refine the model, forexample with regression analysis, or in any other manner. See FIG. 37for one embodiment of the equation used to calculate the accelerationsin the x, y and z axes wherein:

-   -   x=laterally sideways (right is positive, left is negative)    -   y=down the fairway (always positive)    -   z=vertically upwards (up is positive, down is negative)    -   B=a constant dependent on the conditions of the air, an        appropriate value=0.00512    -   u=vector of relative velocity between the ball and the air (i.e.        wind), u=v−v_(w)    -   Cd=coefficient of drag which depends on the speed and spin of        the ball    -   Cl=coefficient of drag which depends on the speed and spin of        the ball    -   a=the angle between the vertical and the axis of rotation of the        spinning ball    -   g=the acceleration due to gravity=32.16 ft/s2

A numerical form of the equations may be utilized to calculate theflight path for small increments of time assuming no wind and a spinaxis of 0.1 radians or 5.72 degrees is as follows:

xacceleration=−0.00512*(vx̂2+vŷ2+vẑ2)̂(½)*((46.0/(vx̂2+vŷ2+vẑ2)̂(½))*(vx)+(33.4/(vx̂2+vŷ2+vẑ2)̂(½))*(vy)*sin(0.1))

yacceleration=−0.00512*(vx̂2+vŷ2+vẑ2)̂(½)*((46.0/(vx̂2+vŷ2+vẑ2)̂(½))*(vy)−(33.4/(vx̂2+vŷ2+vẑ2)̂(½))*((vx)*sin(0.1)−(vz)*cos(0.1)))

zacceleration=−32.16−0.00512*(vx̂2+vŷ2+vẑ2)̂(½)*((46.0/(vx̂2+vŷ2+vẑ2)̂(½))*(vz)−(33.4/(vx̂2+vŷ2+vẑ2)̂(½))*(vy)*cos(0.1))

FIG. 29 illustrates a display of a broadcast television event wherein atleast one motion capture element in the form of a motion sensor iscoupled with the golf club and optionally the user. The display can beshown in normal time after the athlete strikes the ball, or in slowmotion with motion analysis data including the three-dimensional overlayof the position of the sensor on the end of the club shown as a traceline and including the angle of the plane 2901 in which the swing takesplace versus the horizontal, plane. In addition, other motion analysisdata may be shown such as the swing speed 2902, distance (calculated oractual) and efficiency 2903. This information or information in anyother display described herein may be shown with or relative to datamining results of past performances of the player or other player forexample based in any manner.

FIG. 29A illustrates a display of a user showing a portions of theswing, for example the locus of points that define the path of themotion sensor as projected onto a two-dimensional view, that are colorcoded in relation to another swing from that user or another user toshow relative speed differences at different locations of the swing. Forexample, segment 2950 may be drawn in one color or with one line type orin any other manner that shows the relative speed difference at thatparticular spatial or time segment of a swing. Segment 2951 may bedisplayed in a second color or second line type or in any other mannerfor example that shows that the speed during that portion of the swingis higher or lower than another saved swing that has been saved fromthat user or another user or with respect to an average or “best” swingfrom that or another user. This display for example may display thesecond swing, i.e., saved swing that is being compared against, see FIG.29B, or alternatively as shown, by showing only one swing, i.e., thecurrent swing that is highlighted along its path to show the differencesin speed at each point in time or space with respect to the comparisonswing. In one embodiment, the current swing data as projected ontotwo-dimensional space is compared by breaking down the swing intosegments from address to the highest point or rotation and back throughthe location of the ball. By normalizing at least one portion of theswing with respect to the time versus the comparison swing, one-to-onecomparisons of velocity may be made at each data point of the currentswing versus an interpolated set of speeds from the comparison swingsince the number of samples may differ. Any other method of comparingtwo swings, for example by comparing velocity of each point in thecurrent swing versus the speed at various heights that are normalized tothe comparison swing is in keeping with the spirit of the invention.Displays that are color coded or show portions of motion that differfrom the user's previous motion, or an average of the user's previousmotion or the “best” motion from the user's previous motion may be shownon any computer coupled with embodiments of the invention. Althoughvelocity is utilized in this example, any other parameter such as shaftbend, or grip pressure or foot weight distribution or any other measureparameter may be displayed or highlighted to show differences in theparameter versus any number of other swings from user 150 or any otheruser. This enables a user to compare practice swings to real swingstaken on a golf course during play on mobile device 101 or at a latertime, for example on mobile device 101 or computer 105 or via website173, etc.

FIG. 29B illustrates a display of the user of FIG. 29A wherein the swingis shown in spatial relation to another swing, or average or swings or“best” swing of that user or another user. Swing path 2952, shown as adotted line for ease of viewing, may represent another swing from theuser or another user such as a historical player, or for example mayrepresent the average spatial path of any set of swings from user 150.One method of calculating the average spatial swing is to take allswings from the user and normalize the swings with respect to thelocation of impact or horizontal orientation of the piece of equipment,e.g., club in this case and then average the location at eachorientation or between the time points from the club highest negativeorientation and lowest point or most vertical and lowest orientation.Any other method of determining an average swing path, or any othermaximum, minimum, mean, median or other mathematical value from aplurality of swings and displaying the current swing in relation to theother mathematical value is in keeping with the spirit of the invention.See also FIG. 36A. In one or more embodiments of the system, random orany other mathematical construct of one or more swings may be utilizedto play a game with a real user, for example that is actually playinggolf on a course with respect to a virtual opponent that for exampletees off after the user has teed off and calculates the location of thevirtual ball for example based on a historical golfer's average swingfor a particular distance to the hole. As the game progresses, the scoreof the real user and the virtual opponent is updated until the game iscomplete. Alternatively, one player may be playing the golf course whileanother player is swinging on a driving range and wirelessly exchangingmotion capture data, or ball flight information to calculate distance tothe hole after each shot. This enables real game play from two distallylocated players, one of which is on a particular golf course, the othernot. Embodiments of the invention enable two distally located players towager against one another where legal by accepting a bet and optionalcredit card or other bank account information and transferring the moneyusing ACH or other monetary transfer mechanism to settle the accountafter the game finishes.

FIG. 30 illustrates a display of the swing path with a strobe effectwherein the golf club in this example includes sensors on the club headand near the handle, or optionally near the hands or in the gloves ofthe user. Optionally, imaged based processing from a high speed cameramay be utilized to produce the display. A line or captured portion ofthe actual shaft from images may be displayed at angle 3001, 3002 and3003 for example. The swing path for good shots can be compared to swingpaths for inaccurate shots to display the differences in a humanunderstandable manner.

FIG. 31 illustrates a display of shaft efficiency 3105 as measuredthrough the golf swing. For example, by obtaining motion capture datanear the club head and club handle, graphical strobe effects and motionanalysis data can show the club head through time at 3101, 3102, 3103and 3104 and also display speed, club handle speed and club shaftefficiency at 3106 in normal time or slow motion.

FIG. 32 illustrates a display of putter head speed and/or accelerationbased on at least one sensor near the putter head, for example ascoupled into the weight port of a putter. The various quantities fromthe motion analysis data can be displayed at 3201 to aid inunderstanding speed and/or acceleration patterns for good putts and badputts to help viewers understand speed and/or acceleration in a morehuman understandable manner.

FIG. 33 illustrates a display of dynamic lie angle, wherein the lieangle of the player at address 3302 before swinging at the ball can becompared to the lie angle at impact 3301 to help the viewer understandhow lie angle effects loft and ball flight, while quantitatively showingthe values at 3303.

FIG. 34 illustrates a display of shaft release, wherein the angularrelease velocity of the golf shaft is a large component of theefficiency of a swing. As shown, a display of a golfer that has sensorsnear his waist and hips (to produce spine angle 3402) and sensors on thegolf club head and handle (to produce shaft angle 3401), or asdetermined through image processing with or without visual markers, isshown along with the motion analysis data including club shaft releasein degrees per second at 3403.

FIG. 35 illustrates a display of rotational velocity wherein the faceangle, club face closure in degrees per second, the loft angle and lieangle are determined from a motion capture sensor coupled with the clubhead for example and numerically shown at 3501. In one or moreembodiments of the invention, a piece of equipment that includes twomotion capture elements on opposing ends of the equipment, for examplein the club head and handle of a golf club may include a calibrationstage wherein the club face angle which is known and the angularorientations of the mounted motion capture sensors are calibrated sothat their exact offsets for example with respect to the orientation ofthe shaft of the golf club is taken into account. In this manner,fitting experts and performance data in general related to the club canbe normalized to the actual orientation of the club to ensure consistentdata

FIG. 36 illustrates a display of historical players with motion analysisdata computed through image processing to show the performance of greatplayers. By tracing and determining the locations of two points 3601 and3602 on each player's golf club as shown and knowing the height of theplayers and/or lengths of their clubs and angle at which the imageswhere taken, distances and thus velocities of the golf clubs may bedetermined to calculate numerical values as shown at 3603. Thisinformation may be stored posthumously in database 172 and data miningmay be performed using the data as previously described. Users 150 maybe compared against the greats and displayed on any computer describedherein for example so long as the computer includes a display.

FIG. 36A illustrates a display of historical player 150 showing themotion from a motion capture sensor or as tracked or calculated throughimage processing and which may be compared to or contrasted with a givenuser's swing (see also FIGS. 29A and 29B) or against other swings or acombined mathematical value associated with two or more swings from thehistorical player or any other player. Segment 2951 is shown as a thickwhite line to indicate that the current swing differs in relation toother swings from the historical player or any other user for example.In one embodiment, given the position difference between the club headin subsequent frames and knowing the frame rate at which the film wascaptured, enables velocity to be calculated at points along the swingpath. Based on the relatively low number of samples, a large number ofcurrent swing samples from a particular user may be normalized in spaceor time to enable one-to-one comparison at numerous points along theswing path. Points may be interpolated in any manner to provide morepoints or averaged along the path to make the comparison easier tocalculate as desired and to the level of accuracy desired. See alsoFIGS. 29A and 29B.

FIG. 37 illustrates one embodiment of the equations used for predictinga golf ball flight path as used to produce displays as shown in FIGS. 27and 28.

FIG. 38 shows elements of an embodiment of the invention 3800 configuredto fit into the end of a golf shaft. (See also FIG. 11 for anotherembodiment that may fit into a golf shaft or couple near the head of agolf club). Sensor 3801 may include spatial sensors that obtain dataassociated with orientation, position, velocity, acceleration (or anyother derivative with respect to position and time). For example,accelerometer(s) may be utilized that obtain acceleration data in one ormore axes. Alternatively, or in combination, the sensors may includegyroscope(s) that allow for orientation with respect to the horizon tobe accurately determined. Alternatively, or in combination, the sensorsmay include magnetometers that allow for orientation with respect toNorth/South to be accurately determined. Any combination of these sensortypes may be utilized to obtain spatial data that may be utilized byembodiments of the system described to analyze and display the spatialdata in a user-friendly manner. Embodiments of the apparatus may includemicrocontroller 3802, i.e., a programmable computer element is smallform factor, for example a low power microcontroller. One or moreembodiments of the apparatus may include a unique identifier thatidentifies the particular instance of the apparatus. The identifier maybe stored in the memory of microcontroller 3802 or in a separate chip(not shown for brevity and since microcontroller 3801 may includememory) or may be received by the microcontroller from an externalsystem, i.e., programmed. In combination or alternatively, an identifiermay be stored on identifier 191, for example implemented as an RFID tagthat may be mounted on the end of the club or on the handle or under thehandle of the club or in any other position on the club so long as theidentifier may be read, for example by the computer on the mobiledevice. One or more embodiments of the invention may utilize passiveRFID tags so that no battery is required to identify the specific club,or for example the club number of a particular club. Any other mechanismfor obtaining a unique identifier that may be utilized with embodimentsof the invention is in keeping with the spirit of the invention. Theapparatus may also include radio and antenna 3803 (or separately as perFIG. 40 3803 a and 4001) to enable wireless communication of the uniqueidentifier and spatial data, for example via a communication mechanismthat for example minimizes or eliminates communication interference sothat multiple clubs from one or more players may be used in the samevicinity without communication interference. One or more embodiments ofthe radio may comprise BLUETOOH®, adaptive frequency hopping spreadspectrum, or code division multiple access (CDMA) or other wirelesscommunications technologies having for example multiple channels ofcommunication to allow for multiple radios to operate in a givenlocation without interference. Power for the apparatus may derive fromone or more batteries 3804. For example one or more CR1216 batteries maybe utilized to double the amount of time that the club may be utilized.Embodiments of the apparatus may utilize mounting board 3810, forexample a printed circuit board to mount the various components to. Inaddition, adapter 3805 may be utilized to house sensor 3801,microcontroller 3802, radio/antenna 3803, battery or batteries 3804directly or via mounting board 3810 that may couple with these elements.Adapter 3805 may be unique to each golf club, manufacturer, model or anyavailable standard, for example a handle standard size. In one or moreembodiments adapter 3805 may comprise a 25 mm deep and 14.5 mm indiameter tube structure, for example made of epoxy or plastic or anyother material strong enough to hold the various components in place andwithstand the force involved with a golf swing. In addition, embodimentsof the invention may also utilize cap 3806, for example a closure capthat is utilized to cover mounting board 3810 within the club handle (orclub head). Closure cap 3806 may include a visual marker as is shown inFIGS. 9, 10 and 12 for example, for visual processing. In addition, cap3806 may include a push switch to power the apparatus on and/or off. Oneor more embodiments of the invention power off automatically, or go intoa hibernation mode after a particular amount of time the golf club hasnot moved over a certain speed for example. This may include mechanicaland/or electronic indications that the club has moved and hence powershould be restored. In addition, some or all of the components may bepowered down and up periodically or until motion occurs or to check fora communications link for example. Any other power saving features maybe implemented as desired to save more power based on the designrequirements for a desired application as one skilled in the art willappreciate. In addition, by obtaining the spatial data from multipleapparatus coupled with a particular club for example enables theautomatic determination of which apparatus is located in a handle andwhich apparatus is located at the golf club head based on thedifferences in speed during a swing for example. Any other method forautomatically determining the assigned location of each apparatus on agiven golf club is in keeping with the spirit of the invention. Examplespatial sensor 3801 embodiments follow. One or more embodiments of theinvention may utilize a MEMS digital output motion sensor LIS331HH ultralow-power high full-scale 3-axes “nano” accelerometer, or any otheraccelerometer for example. One or more embodiments of the invention mayutilize a AK8975/AK8975C 3-axis electronic compass, or any other compassfor example. One or more embodiments of the invention may utilize aL3GD20 MEMS motion sensor three-axis digital output gyroscope or anyother gyroscope for example. One or more embodiment of microcontroller3802 may be implemented with MICROCHIP® PIC24FJ256GA110 general purposeflash microcontroller or any other microcontroller. One or moreembodiments of radio and antenna 3803 may be implemented with aBLUECORE®6-ROM single-chip BLUETOOTH® v2.1 EDR system, and/or aBLUECORE® CSR1000™ QFN BLUETOOTH® low energy single-mode chip, or anyother communications chip. Any type of micro-power harvesting technologymay be utilized internally to charge a battery coupled to themicrocontroller to minimize the changing or charging of batteries withan external charger.

In addition, embodiments of mount may utilize the mount specified in thepriority chain application U.S. Ser. No. 13/191,309 which has beenincorporated by reference above in the priority claim.

Embodiments of the invention using a unique identifier may be utilizedas a lost club alarm, so that if contact is lost with one of the clubsassociated with a player, an alarm may be presented by one or moreembodiments of the system. Embodiments of the system that include athree-axis accelerometer enable analysis and display of swing speed,tempo, handle versus head speed, swing efficiency, durability counterand shot by shot analysis. Embodiments of the invention that include athree axis gyroscope enable analysis and display of alignment, lieangle, loft angle, handle release and 3-D angular velocity. Embodimentsof the invention that include a magnetometer enable analysis and displayof swing tracer, swing path, impact location, ball flight, 3-D impact,shaft deflection, shaft efficiency and 3-D video overlay. Any otherdisplays that make use of the different type of spatial sensors is inkeeping with the spirit of the invention.

FIG. 39 shows an embodiment of the apparatus of FIG. 38, here designated3901 as integrated into the handle of golf club 3902. Optionalelectrical connection 3903 enables the coupling of an embodiment of theinvention situated in a handle of a golf club to an embodiment of theinvention situated near the golf club head so as to allow forsimultaneous recharging of both apparatus. Cap 3806 may include aninductive coil to allow for wireless charging (as is common in electrictoothbrushes for example), or may include any type of power couplinginterface or outlet, as one skilled in the art will appreciate. Any typeof mechanical charging element, for example common in some watches, mayalso be coupled to the motion capture elements that do not requirepower. In addition, automatic power up and power down passive or activesensors or switches may be utilized to power microcontroller 3802 on oroff.

FIG. 40 shows elements of another embodiment of the invention configuredto fit into the end of a golf shaft. In this embodiment, mounting board3810 also includes radio 3803 a, along with antenna 4001 (as separateunits compared with FIG. 38), optional heat sink 4002, recharger 4003and overcharge detector 4004. Recharger 4003 may be implemented forexample as an induction element that wirelessly enables rechargingbattery or batteries 3804. Overcharge detector 4004 may electricallyconnect with battery or batteries 3804 and recharger 4003 to determinewhen the batteries should no longer be charged, or when charging shouldresume. Alternatively, a wired connection may be utilized to chargebattery or batteries 3804 as one skilled in the art will appreciate. Inaddition, since a wire may be run through the shaft of the golf club,the same charging port may be utilized to charge batteries in two ormore apparatus, for example one located in a golf club handle andanother one located near the golf club head. A wireless golf club isthus produced with a wired internal connection for ease of charging.

FIG. 41 shows another embodiment of the apparatus of FIG. 40, heredesignated 4101 as integrated into the handle of golf club 3902. FIG.41A shows an embodiment of mount 4191 for mobile computer 102 c, here anIPOD® NANO® for example that mounts to a stick or shaft for example theshaft of a golf putter via clips shown in the right of the figure thatcouple with the shaft as shown.

FIG. 41A illustrates and embodiment of an external mount for a mobilecomputer to couple the mobile computer to a piece of equipment. As shownthe mount may clip to the shaft which allows for very small embodimentsof the mobile computer to mount on the piece of equipment, so long asthey do not interfere with the swing of a user, for example on a putter.Any other method of mounting or carrying the mobile computer is inkeeping with the spirit of the invention.

FIG. 42 shows a graph of swing data as obtained from one or moreembodiments of the invention. Any other user-friendly display may beutilized that includes spatial data obtained from one or moreembodiments of the invention as one skilled in the art will recognize.In the figure as shown, the X-axis data may be utilized to show positionversus time to graphically display information related to a golf swing.Any other display as previously described above may also be utilized todisplay spatial data associated with one or more embodiments of theinvention.

FIG. 43A shows a user interface that displays a query to the golfer toenable the golfer to count a shot or not. As shown, map 4301 may show asatellite image of the location of the mobile computer as determined forexample by a GPS chip in the mobile computer or via triangulation of awireless or phone signal. Shots 4302 a and 4302 b may be shown in anymanner to signify that these shots have been counted at the particularlocation. Lines may optionally be drawn between shots for example.Optionally, these shot displays may include the club number or any otherdesired information where a shot has taken place and been counted.Potential shot 4302 c may be shown in any other manner which signifiesthat the shot is under consideration for a counted shot, as the mobilecomputer is currently querying the user as to whether or not to countthe shot as is shown on the left side of status display 4303, i.e.,“Count Shot?”. The mobile computer may accept any type of input forcounting the shot including audio or tactile input based input,including motion sensing of the mobile computer to determine if the userhas for example input a gesture such as a shake left/right meaning “no”,do not count the shot, or a shake up/down meaning “yes” count the shot.This allows for operation of the mobile computer without removal ofgloves as many mobile computers require direct skin contact to effectinput. In addition, as shown if the shot is counted, the total number ofshots on the course may be updated as per the right side of statusdisplay 4303. The logic for determining whether to query the user isshown in FIG. 44. If the shot is counted the shot display at 4302 c forexample may be shown in a different manner that signifies that indeed,the shot has been counted. For embodiments of the invention that utilizepassive RFID sensors, the processing and logic of whether to count theshot requires no electronics at all on the golf club that require localpower. For example, passive RFID chips can be powered remotely via RFIDreader 190 that couples to the mobile computer for example. In thismanner, all complexity of known systems for counting shots includingutilization of switches, solar cells, buttons, battery operatedelectronics is completely eliminated. An RFID marker that is passive maybe attached in any manner to a golf club, include adhering the RFIDmarker to the shaft or under the handle or in any other position on theclub. In one or more embodiments a set of RFID tape strips may bepurchased by the golfer and attached to the clubs wherein the mobilecomputer may query the user for which club number corresponds to whichRFID tag for example. Alternatively the tape strips for example thatattach RFID element 191 to the golf club (see FIG. 1), may already havea club number associated with each RFID element, for example a numberwritten on the tag or packing of each tag. Alternatively, the mobilecomputer may also utilize motion capture data for embodiments thatinclude motion capture elements on clubs in order to determine when ashot or potential shot has taken place. RFID or any other identificationtechnology may be utilized to associate not only a golf club but anyother type of equipment for example with a motion capture element sothat motion can be quantified by the object that is being moved.

FIG. 43B shows a user interface that displays a map of the golf courseand locations of golf shots along with the particular club used at eachshot location on two different types of mobile computers. As shown, shot4302 b is annotated with “4 iron” and “210 yards” and a metric or scoreof the stroke in terms of efficiency or power (see FIG. 43C). Statusarea 4310 allows for displaying hole by hole shots for example. In thisembodiment, it is not required that the mobile computers obtain anidentifier from each club in a passive manner, but may obtain theidentifier for each club via active wireless technologies if desired.Alternatively, the mobile computers shown in FIG. 43B may couple with anRFID or other passive reader (see element 190 in FIG. 43A for example).

FIG. 43C shows a user interface that displays a metrics 4320 associatedwith each shot at each of the locations shown in FIGS. 43A and 43B. Thisdisplay may be shown for example after the golfer counts a golf shot,for example by shaking the mobile computer or otherwise asserting thatthe golf shot should count. This display may be shown first or after themap shots as per FIGS. 43A and 43B, or may be shown after a delay ofshowing the map shots, or in any other manner. The display may be colorcoded to show a powerful or efficient shot as shown in the rightpicture, or to show a less powerful or less efficient shot, i.e.,background of the display may be color coded or any portion of thedisplay may be color coded for example.

FIG. 44 shows a flow chart of an embodiment of the functionalityspecifically programmed into the mobile device in order to intelligentlydetermine whether to query a golfer to count a shot and to record shotsthat are so designated. Processing starts at 4401, for example when agolfer initializes the shot count application on the mobile computer(see FIG. 1 as well for different embodiments of the mobile computer).The mobile computer may display a map at 4402 as obtained for exampleover the Internet or stored locally based on a GPS position determinedby the mobile computer (or by known triangulation techniques aspreviously described). The mobile computer may then read an identifierassociated with a club at 4403. The mobile computer may utilize RFIDreader 190, or for embodiments that do not utilize RFID, may useBLUETOOTH® for example to read an identifier for a club from the motioncapture element if one exists. If multiple clubs are within range, thenthe system may query the user as to which club, or the club with thestrongest signal may be automatically chosen for example. Any othermethod of arbitrating the identifier of the club is in keeping with thespirit of the invention. For example, RFID reader 190 may bepurposefully limited in range so that only a club in near proximity tothe mobile computer, as worn for example by the golfer, is readable.This embodiment requires no power, switches or batteries on each golfclub and therefore is much simpler to maintain and use than knownsolutions for counting golf shots. If the mobile computer is stationaryfor a threshold T amount of time at 4404, then the mobile computer mayeither optionally determine if the mobile computer has rotated or movedin a manner that is indicative of a golf swing or putt at 4405, orsimply wait until the mobile computer has moved from the currentposition at 4406 for example, which occurs once a golfer has finished ashot or putt. For example, current mobile computers may be equipped withmotion detection elements internally, and which are therefore able todetermine if a user has rotated (for a driver) or translated slightly(for a putter) for example, and determine that a shot (or practiceswing/shot) has occurred. The mobile computer then queries the golfer at4407 as to whether or not to count the shot and accepts any desiredinput gesture to indicate whether to count or not count the shot. Forexample, by allowing the user to input a shake or rotation of the mobilecomputer, that commonly have orientation and motion sensors built in,then the golfer is not required to take any gloves off, which isgenerally required to activate the touch screen features of some mobilecomputers. Querying the user may include use of a vibration component inthe mobile computer, i.e., so that no sound is required to query thegolfer, which may upset other golfer attempting to concentrate. If thegolfer determines that the golf shot should be counted, then the statusof the shot may be updated to indicate that the shot has counted, andfor example the location on the course where the shot occurred.Embodiments that utilize motion capture elements can also optionallyutilize this method to count shots and in addition may include othersteps that detect the signature vibrations of a golf club to determineif a golf ball has been struck as well, etc., as explained below (seealso FIGS. 45-49). Identifiers associated with the motion captureelements in these embodiments may be used in place of, or in combinationwith RFID associated identifiers to signify the type of club and/or clubnumber of the golf club for example. In addition, processing continuesat 4402 where the map is updated as the golfer moves until another clubidentifier is received at 4403 for example. If the shot is not to countas per 4408, then processing continues at 4402 without any update of thetotal shot count and the queried shot display, for example at 4302 c maybe removed from the display (see FIG. 43). Other embodiments may utilizea starting zone for each hole of a golf course or may allow other inputsfor the golfer to signify which hole the shot is to count for. By savingall of the locations of the shots and the club number of each shot,statistics may be derived for later display by the golfer, either on themobile computer or uploaded to a website for example. Any other methodof displaying the shots as obtained by embodiments of the invention isin keeping with the spirit of the invention.

FIG. 45 shows a flow chart of an embodiment of the functionalityspecifically programmed into the mobile computer and/or motion captureelement microcontroller 3802 in order to intelligently determine whetherto query a golfer to count a shot and to record shots that are sodesignated. Processing starts at 4401, for example when a golferinitializes the shot count application on the mobile computer (see FIG.1 as well for different embodiments of the mobile computer), or forembodiments where the motion capture element stores data for an entireround without interfacing with a mobile computer, when the motioncapture element moves. The mobile computer, if one is utilized at thetime, may display a map at 4402 as obtained for example over theInternet or stored locally based on a GPS position determined by themobile computer (or by known triangulation techniques as previouslydescribed). The mobile computer, again if one is being utilized at thetime, may then read an identifier associated with a club at 4403. Themobile computer may utilize RFID reader 190, or for embodiments that donot utilize RFID, may use BLUETOOTH® for example to read an identifierfor a club from the motion capture element if one exists. If multipleclubs are within range, then the system may query the user as to whichclub, or the club with the strongest signal may be automatically chosenfor example. Any other method of arbitrating the identifier of the clubis in keeping with the spirit of the invention. For example, RFID reader190 may be purposefully limited in range so that only a club in nearproximity to the mobile computer, as worn for example by the golfer, isreadable. Optionally, if the mobile computer, if one is being used, isstationary for a threshold T amount of time at 4404, then the mobilecomputer may either optionally determine if the mobile computer hasrotated or moved in a manner that is indicative of a golf swing or puttat 4405, or if a strike has occurred (see FIGS. 46-48) or simplyoptionally wait until the mobile computer has moved from the currentposition at 4406 for example, which occurs once a golfer has finished ashot or putt. For example, current mobile computers may be equipped withmotion detection elements internally, and which are therefore able todetermine if a user has rotated (for a driver) or translated slightly(for a putter) for example, and determine that a shot (or practiceswing/shot) has occurred. Embodiments of the invention may also checkfor rotation or movement of the mobile computer and/or check for astrike alone or in combination. Embodiments of the invention may alsocheck for both a rotation or movement indicative of a shot and a strikeoccurrence from a motion capture element to indicate that a shot hasoccurred for a robust embodiment. Alternatively, the motion captureelement alone may be utilized to determine if a strike has occurred,which represents a potential shot to count. See FIGS. 46-48 for example.The mobile computer then queries the golfer at 4407 as to whether or notto count the shot and accepts any desired input gesture to indicatewhether to count or not count the shot. For example, by allowing theuser to input a shake or rotation of the mobile computer, that commonlyhave orientation and motion sensors built in, then the golfer is notrequired to take any gloves off, which is generally required to activatethe touch screen features of some mobile computers. Querying the usermay include use of a vibration component in the mobile computer, i.e.,so that no sound is required to query the golfer, which may upset othergolfer attempting to concentrate. If the golfer determines that the golfshot should be counted, then the status of the shot may be updated toindicate that the shot has counted, and for example the location on thecourse where the shot occurred. In addition, processing continues at4402 where the map is updated as the golfer moves until another clubidentifier is received at 4403 for example. If the shot is not to countas per 4408, then processing continues at 4402 without any update of thetotal shot count and the queried shot display, for example at 4302 c maybe removed from the display (see FIG. 43). Other embodiments may utilizea starting zone for each hole of a golf course or may allow other inputsfor the golfer to signify which hole the shot is to count for. By savingall of the locations of the shots and the club number of each shot,statistics may be derived for later display by the golfer, either on themobile computer or uploaded to a website for example. Any other methodof displaying the shots as obtained by embodiments of the invention isin keeping with the spirit of the invention.

One or more embodiments of the motion capture element collect, store,transmit and analyze data as follows. In one or more embodiment, one ormore of the sensors in the motion capture element are placed in a datacollection mode. While in the data collection mode, the motion captureelement may continuously record sensor data in memory.

FIG. 46 illustrates an embodiment of the memory utilized to store data.Memory 4601 may for example be integral to microcontroller 3802 in FIG.38 or may couple with the microcontroller, as for example a separatememory chip (not shown in FIG. 38 as one skilled in the art willrecognize that microcontroller 3802 may attach to a separate memory chipor external memory over radio/antenna 3803 that may be locatedanywhere). Memory 4601 as shown collectively in FIG. 46 may beconfigured to include one or more memory buffer 4610, 4611 and 4620,4621 respectively. One embodiment of the memory buffer that may beutilized is a ring buffer. The ring buffer may be implemented to beoverwritten multiple times until an event occurs. The length of the ringbuffer may be from 0 to N memory units. There may for example be M ringbuffers, for M strike events for example. The number M may be any numbergreater than zero. In one or more embodiments, the number M may be equalto or greater than the number of shots for a round of golf, or any othernumber for example that allows all motion capture data to be stored onthe motion capture element until downloaded to a mobile computer or theInternet after one or more shots. In one embodiment, a pointer, forexample called HEAD keeps track of the head of the buffer. As data isrecorded in the buffer, the HEAD is moved forward by the appropriateamount pointing to the next free memory unit. When the buffer becomesfull, the pointer wraps around to the beginning of the buffer andoverwrites previous values as it encounters them. Although the data isbeing overwritten, at any instance in time (t), there is recorded sensordata from time (t) back depending on the size of the buffer and the rateof recording. As the sensor records data in the buffer, an “Event” inone or more embodiments stops new data from overwriting the buffer. Uponthe detection of an Event, the sensor can continue to record data in asecond buffer 4611 to record post Event data, for example for a specificamount of time at a specific capture rate to complete the recording of aprospective shot. Memory buffer 4610 now contains a record of data for adesired amount of time from the Event backwards, depending on the sizeof the buffer and capture rate along with post Event data in the postevent buffer 4611.

For example, in a golf swing, the event can be the impact of the clubhead with the ball. Alternatively, the event can be the impact of theclub head with the ground, which could give rise to a false event. Inother embodiments, the event may be a shot fired from a weapon, or aball striking a baseball bat or when a user moves a weight to thehighest point and descends for another repetition. The Pre-Event bufferstores the sensor data up to the event of impact, the Post-Event bufferstores the sensor data after the impact event. One or more embodimentsof microcontroller 3802 are configured to analyze the event anddetermine if the event is a repetition, firing or event such as a strikeor a false strike. If the event is considered a strike, and not a falsestrike, then another memory buffer 4620 is used for motion capture dataup until the occurrence of a second event. After that strike occurs, thepost event buffer 4621 is filled with captured data.

Specifically, sensor 3801 may be implemented as one or more MEMssensors. The sensors may be commanded to collect data at specific timeintervals. At each interval, data is read from the various MEMs devices,and stored in the ring buffer. A set of values read from the MEMssensors is considered a FRAME of data. A FRAME of data can be 0, 1, ormultiple memory units depending on the type of data that is beingcollected and stored in the buffer. A FRAME of data is also associatedwith a time interval. Therefore frames are also associated with a timeelement based on the capture rate from the sensors. For example, if eachFrame was filled at 2 ms intervals, then 1000 FRAMES would contain 2000ms of data (2 seconds). In general, a FRAME does not have to beassociated with time.

Data can be constantly stored in the ring buffer and written out tonon-volatile memory or sent over a wireless or wired link overradio/antenna 3803 to a remote memory or device for example at specifiedevents, times, or when communication is available over radio/antenna3803 to a mobile device or any other computer or memory, or whencommanded for example by a mobile device, i.e., “polled”, or at anyother desired event.

FIG. 47 shows a flow chart of an embodiment of the functionalityspecifically programmed into the microcontroller to determine whether anevent that is to be transmitted for the particular application, forexample a prospective event or for example a strike has occurred. Themotion, acceleration or shockwave that occurs from an impact to thesporting equipment is transmitted to the sensor in the motion captureelement, which records the motion capture data as is described in FIG.46 above. Microcontroller 3802 is configured to then analyze the eventand determine whether the event is a prospective strike with a ball forexample or not.

One type of event that occurs is a strike of the clubface when itimpacts a golf ball. In other sports that utilize a ball and a strikingimplement, the same analysis is applied, but tailored to the specificsport and sporting equipment. In tennis a prospective strike can be theracquet hitting the ball, for example as opposed to spinning the racquetbefore receiving a serve. In other applications, such as running shoes,the impact detection algorithm can detect the shoe hitting the groundwhen someone is running. In exercise it can be a particular motion beingachieved, this allows for example the counting of repetitions whilelifting weights or riding a stationary bike.

For golf related scenarios, microcontroller 3802 is configured toanalyze the motion capture data to determine when the golf club forexample has impacted an object, such as but not limited to a golf ball,tee, or the ground. The impact shock wave at the club head istransmitted to the sensor. In one or more embodiments of sensor 3801,position, orientation, velocity and/or accelerometer data is collectedto sense these quantities with respect to one or more axes, for exampleaccelerations on three accelerometer axes. Since all impacts arerecorded, such as an impact of the club with a tee or the ground, theimpacts are next analyzed to determine if the strike is valid or notvalid with respect to a strike of a golf ball.

In one or more embodiments of the invention, processing starts at 4701.Microcontroller 3802 compares the motion capture data in memory 4610with linear velocity over a certain threshold at 4702, within aparticular impact time frame and searches for a discontinuity thresholdwhere there is a sudden change in velocity or acceleration above acertain threshold at 4703. If no discontinuity in velocity or forexample acceleration occurs in the defined time window, then processingcontinues at 4702. If a discontinuity does occur, then the prospectiveimpact is saved in memory and post impact data is saved for a given timeP at 4704. For example, if the impact threshold is set to 12G,discontinuity threshold is set to 6G, and the impact time frames is 10frames, then microcontroller 3802 signals impact, after detection of a12G acceleration in at least one axis or all axes within 10 framesfollowed by a discontinuity of 6G. In a typical golf swing, theaccelerations build with smooth accelerations curves. Impact is signaledas a crash and quick change in acceleration/velocity. These changes aredistinct from the smooth curves created by an incrementally increasingor decreasing curves of a golf swing. If data is to be saved externallyas determined at 4705, i.e., there is a communication link to a mobiledevice and the mobile device is polling or has requested impact datawhen it occurs for example, then the impact is transmitted to anexternal memory, or the mobile device or saved externally in any otherlocation at 4706 and processing continues again at 4702 wheremicrocontroller 3802 analyzes collected motion capture data forsubsequent impacts. If data is not to be saved externally, thenprocessing continues at 4702 with the impact data saved locally inmemory 4601. In one or more embodiments of the invention, noise may befiltered from the motion capture data before sending, and the samplerate may be varied based on the data values obtained to maximizeaccuracy. For example, some sensors output data that is not accurateunder high sampling rates and high G-forces. Hence, by lowering thesampling rate at high G-forces, accuracy is maintained. In one or moreembodiments of the invention, the microcontroller associated with motioncapture element 111 may sense high G forces and automatically switch thesampling rate. In one or more embodiments, instead of usingaccelerometers with 6G/12G/24G ranges or 2G/4G/8G/16G ranges,accelerometers with 2 ranges, for example 2G and 24G may be utilized tosimplify the logic of switching between ranges.

The impact event is defined in one embodiment, as all accelerometer axesreaching an impact threshold G force within a specified time frame,called the impact time frame. This alone is not sufficient to detectimpact since a fast swing could reach the impact threshold, i.e.,without contacting the golf ball, for example a practice swing. Thediscontinuity threshold signals the rapid change of accelerometer valuesthat signify sudden impact. The impact time frame may be implemented asa sliding window that defines a time frame in which impact is detected.If the impact threshold and discontinuity threshold are reached on allaxes within the impact time frame, then impact is signaled and the eventas shown in FIG. 46, for example Event 1, is saved and data is thencollected in the next memory buffer. One or more embodiments of theinvention may transmit the event to a mobile device and/or continue tosave the events in memory, for example for a round of golf or until amobile device communication link is achieved.

For example, if impact threshold for X is reached at time t, and impactthreshold Y is reached at time t+n, and t+n is outside the impact timeframe, then no impact is detected. For example, practice swings do nottrigger impact events.

In one or more embodiments of the invention, further analysis of theimpact event occurs to reduce false positives of impact events. Asdescribed, microcontroller 3802 searches for a linear velocity to reacha certain threshold, and a discontinuity in the linear velocity. Hence,microcontroller 3802 will not trigger an impact in a full motion swingwhere there is no “crash” or physical impact. However, a prospectiveimpact event will trigger if the club is tapped on the ground or againstany other object. However, since a typical golf swing has a verycharacteristic angular and linear velocity signature, the motion capturedata may be utilized to determine whether the prospective impact was aresult of a typical golf swing. For example, microcontroller 3802 maycompare the motion capture data with this signature to predict theoccurrence of a typical golf swing, in order to classify the impact as avalid golf club and golf ball impact.

For example, with the sensor mounted in the handle, a typical golf swingsignature is shown in FIG. 48. In one or more embodiments,microcontroller 3802 is configured to execute a pattern matchingalgorithm to follow the curves for each of the axis and use segments of1 or more axis to determine if a characteristic swing has taken place.If the motion capture data in memory 4601 is within a range close enoughto the values of a typical swing as shown in FIG. 48, then the motion ofthe club is consistent with a swing, whether a practice swing or swingthat results in an impact with a golf ball. For example, axis-X shows aclimb between frame 161 to 289, followed by a steep decline between 545to 577. Microcontroller 3802 utilizes this information to recognize thatthere is a backswing, followed by a downswing. If this occurs and animpact occurs as described with respect to FIG. 47, then a valid golfclub and golf ball impact is signaled. Microcontroller 3802 may alsoutilize the time between a backswing and downswing events to validatethat a swing has taken place. Embodiments of the invention thus reducethe number of false positives in impact detection, after firstcharacterizing the angular and/or linear velocity signature of themovement, and then utilizing elements of this signature to determine ifsimilar signatures for future events have occurred.

The motion capture element collects data from various sensors. The datacapture rate is high and there is significant amounts of data that isbeing captured. Embodiments of the invention may use both lossless andlossy compression algorithms to store the data on the sensor dependingon the particular application. The compression algorithms enable themotion capture element to capture more data within the given resources.Compressed data is also what is transferred to the remote computer(s).Compressed data transfers faster. Compressed data is also stored in theInternet “in the cloud”, or on the database using up less space locally.

Over the air programming is enabled in one or more embodiments of theinvention to enable the update of the firmware stored in the motioncapture element. An initial bootloader is stored in non-volatile memoryon the motion capture element that provides the basic services tocommunicate with a remote system. There is also a dual image storagecapability on the module. Once an application image is loaded, a CRCcheck may be performed against the newly downloaded image. If thedownloaded firmware passes the various checks, then the microcontrollerboots from the new image, and the old image is flagged old. In one ormore embodiments of the invention an external dongle may be utilized totransfer data from the motion capture element to the mobile computer viaInfrared as opposed to over a typical radio frequency link. Any othermethod of transferring data between the motion capture elements and themobile computer is in keeping with the spirit of the invention.

While the ideas herein disclosed has been described by means of specificembodiments and applications thereof, numerous modifications andvariations could be made thereto by those skilled in the art withoutdeparting from the scope of the invention set forth in the claims.

1. A motion capture element comprising: a memory; a sensor configured tocapture any combination of values associated with an orientation,position, velocity, acceleration of said at least one motion captureelement; a radio; a microcontroller coupled with said memory, saidsensor and said radio wherein said microcontroller is configured toestimate an initial orientation based on motion capture data from twopoints in time; collect data that comprises sensor values from saidsensor; store said data in said memory; transmit said data via saidradio.
 2. The motion capture element of claim 1 wherein said estimatecomprises a calculation of an orientation transform matrix of the sensorwith respect to a world reference frame through integration of u(t)=∫₀^(t)Ps^(B)dt wherein Q₀u(t)=−gt when said motion capture data at saidtwo points in time comprises estimated velocities that are approximatelyzero.
 3. The motion capture element of claim 1 wherein saidmicrocontroller is further configured to alter a sampling rate of saidsensor based on said sensor values obtained from said sensor to maintainaccuracy of said sensor values.
 4. The motion capture element of claim 1wherein said microcontroller is further configured to detect a firstvalue from said sensor values having a first threshold value and detecta second value from said sensor values having a second threshold valuewithin a time window; signify a prospective event; compare saidprospective event to a characteristic signal associated with a typicalevent and eliminate any false positive events; signify a valid event ifsaid prospective event is not a false positive event; save said validevent in said memory comprises information within an event time windowas said data.
 5. The motion capture element of claim 4 wherein saidmicrocontroller is further configured to transmit said valid event assaid data after said valid event is detected wherein said data istransmitted on an event-by-event basis or periodically or when requestedby a computer.
 6. The motion capture element of claim 1 wherein saidmicrocontroller is further configured to store said data in memory atleast until a communications link to a computer exists and said data hasbeen transferred to said computer.
 7. The motion capture element ofclaim 1 wherein said microcontroller is further configured to power offif no motion is detected for a predefined time.
 8. The motion captureelement of claim 1 wherein said microcontroller is further configured topower on when motion is detected.
 9. The motion capture element of claim1 wherein said microcontroller is further configured to power on whenmotion is detected via said sensor or wherein said microcontroller iscoupled with a passive motion detector that requires no power andwherein said microcontroller is further configured to power on when saidpassive motion detector that requires no power detects said motion. 10.The motion capture element of claim 1 wherein said microcontroller isfurther configured to download new firmware, check the new firmware andif the new firmware is valid, execute the new firmware and wherein saiddownload is configured to utilize a universally unique identifier topair said microcontroller to another computer.
 11. The motion captureelement of claim 1 further comprising a visual marker.
 12. The motioncapture element of claim 1 further comprising a battery and a mechanicalcharger wherein said battery is coupled with said microcontroller andwherein said battery is further coupled with said mechanical charger.13. The motion capture element of claim 1 further comprising a proximitysensor coupled with said microcontroller.
 14. The motion capture elementof claim 1 wherein said transmit of said data is configured to transmitsaid data to an alarm to turn said alarm off.
 15. The motion captureelement of claim 1 wherein said transmit of said data is configured totransmit said data to a computer that is configured to compare said dataagainst previously saved motion capture data.
 16. The motion captureelement of claim 1 further comprising a wireless interface coupled tosaid microcontroller wherein said wireless interface is configured towirelessly communicate with another wireless interface up to 50 metersaway.
 17. The motion capture element of claim 1 further comprising acellular wireless interface coupled to said microcontroller wherein saidcellular wireless interface is configured to wirelessly communicate withan Internet coupled computer.
 18. The motion capture element of claim 1wherein said microcontroller is further configured to enable a computerwirelessly coupled with said microcontroller to read a value of acharacteristic from the microcontroller; send a new value for thecharacteristic to the microcontroller; and, command the microcontrollerto notify the computer whenever the value of the characteristic changes.19. A motion capture element comprising: a memory; a sensor configuredto capture any combination of values associated with an orientation,position, velocity, acceleration of said at least one motion captureelement; a radio; a microcontroller coupled with said memory, saidsensor and said radio wherein said microcontroller is configured tocollect data that comprises sensor values from said sensor; alter asampling rate of said sensor based on said sensor values obtained fromsaid sensor to maintain accuracy of said sensor values; store said datain said memory; transmit said data via said radio.
 20. A motion captureelement comprising: a memory; a sensor configured to capture anycombination of values associated with an orientation, position,velocity, acceleration of said at least one motion capture element; aradio; a microcontroller coupled with said memory, said sensor and saidradio wherein said microcontroller is configured to collect data thatcomprises sensor values from said sensor; detect a first value from saidsensor values having a first threshold value and detect a second valuefrom said sensor values having a second threshold value within a timewindow; signify a prospective event; compare said prospective event to acharacteristic signal associated with a typical event and eliminate anyfalse positive events; signify a valid event if said prospective eventis not a false positive event; store said valid event in said memorythat comprises information within an event time window; transmit saidvalid event via said radio; and, maintain a communication link betweensaid radio and a second radio through transmission of information viasaid radio at a first communication interval when no valid event hasoccurred over a predetermined first period wherein said firstcommunication interval between transmission of information is longerthan a time interval between transmission of packets related to saidvalid event or transmission of said data.